入门教程

介绍如何在矩池云租用主机,轻松上手

本教程将通过实际案例给大家介绍如何使用矩池云运行自己的代码,也会给大家介绍如何开发票的方法,学完本教程你将掌握以下内容:
  • 矩池云网盘数据上传下载(包括文件夹上传下载)
  • 矩池云服务器租用和远程连接
  • 在矩池云服务器上安装第三方包,跑通代码
  • 了解矩池云机器常用功能(VNC、保存环境、ssh连接等)
  • 了解矩池云充值、开发票、租赁明细等流程

1. 注册成为矩池云用户

1.1 注册登录

前往矩池云官网注册账户,点击立即注册
注册用户需要输入手机号、密码和验证码,如果是同学/朋友邀请的,还可以填写对应的邀请码。
登录并绑定微信公众号,即可收到矩池云发送的重要业务通知。
矩池云微信公众号
新注册用户关注并绑定矩池云微信公众号可获赠 5 元体验金,体验金在租用机器时直接抵扣。点击查看具体活动参与指南

1.2 教师/学生认证

如果您是学生/老师,可以前往高校版页面,享受高校教育版优惠。
老师/助教可以申请教师教育折扣,点击申请试用按钮、填写相关信息后,矩池云工作人员会及时联系您,帮您开通账号权限。
teacher-certification
学生可以点击去认证按钮完成学生认证(目前支持学生证认证和学校邮箱认证两种方式),完成学生认证后,可以购买学生套餐,更优惠。
student-certification

1.3 推荐提前了解内容

1.3.1 矩池云支持中心

点击直达矩池云支持中心,支持中心包括入门指引(快速了解矩池云常用功能和相关概念)、教程与案例(各种工具连接矩池云教程)和参考资料(主要包括矩池云环境使用说明、公开数据集使用方法和FAQs文档)。
这里极力推荐大家多看看FAQs文档,记录了大家经常会遇到的各类问题。
另外支持中心还支持全局搜索,点击右上角的搜索框,输入你的问题,服务器会自动进行搜索、匹配,可以更快找到问题解答。
supports

1.3.2 FAQs文档

点击直达FAQs文档,在FAQs文档中记录了大家常问的30多个问题及解答(还在不断补充中),支持中心全局搜索功能也能搜索到FAQs文档中的内容。

2. 矩池云数据存储方法

矩池云为每位用户免费提供 5G 的存储空间,网盘数据不会随主机租用结束后清空,因此适合长期存放。强烈建议用户将自己的代码、数据等资料上传到个人中心我的网盘中,以便在租用的主机中使用。点击直达我的网盘
matbox
  • 1 上传按钮:您可以点击上传按钮后,选择本地的一个或多个文件上传,上传后文件会展示在当前的目录下,如需上传文件夹,请压缩成一个文件后上传。
  • 2 切换线路:默认是专线,你可以切换成自己的网络供应商模式,如果是校园网可以选择教育网络路线
  • 3 网盘扩容按钮:点击这个+号,就可以进入到网盘扩容页面。
在租用主机时,可以将网盘中任意已存在的目录挂载到主机内任意目录,默认是将网盘根目录挂载到主机内 /mnt 目录下,用户也可以自定义挂载。
网盘支持付费扩容,最大支持 1000G(如需更大空间,可以联系矩池云小助手),按月计费,新用户首月四折,续费六折,可开启使用余额自动续费。(如果提示余额不足,去充值,可以点击它前往充值,然后扩容)
注意:
  1. 用户保存环境后,环境文件将占用网盘空间,因此请定期维护,点击查看环境使用攻略
  2. 欠费后网盘会被清空(免费空间5G的数据将继续保留)

3. 实战案例:在矩池云完成Pytorch训练MNIST数据集

接下来我们将通过一个实战案例给大家介绍如何使用矩池云机器和网盘传输文件、运行代码。

3.1 上传数据集&代码到矩池云网盘

将文件下载到本地后是一个名为MyMNIST.zip的压缩文件,里面包含了MNIST数据集和代码文件,
我们可以在我的网盘页面点击上传按钮,然后选择自己本地要上传的文件,比如我们现在要上传刚刚下载的MyMNIST.zip
upload-data
  • 文件上传过程中页面会有上传进度显示(上传速度和进度)
  • 如果上传速度很慢(比如几十kb每秒),可以尝试切换网络路线(下图中右上角)
  • 如果切换路线后还是很慢,可以看看本地是否有使用网络代理软件,如有使用可以将matpool.com加入到白名单,或者暂时关闭代理软件,然后再上传。
上传成功后,右侧的上传进度会变成对勾,并提示上传成功,文件会出现在我的网盘目录中,如果没有出现,可以点击刷新刷新目录。
upload-process
数据和代码文件上传完成后,我们就要开始租用机器了。

3.2 在矩池云租用一台合适的主机

用户可在矩池云主机市场使用筛选、排序等功能快速找到合适的主机。为节约算力资源,建议优先选用低配型号的主机做好代码调试,如算力不足,再考虑升级。
选择合适的主机
本案例中,MNIST作为一个入门级案例,训练量不是很大,机器配置上,我们选择最低配的 NVIDIA Tesla K80 即可 。
select-machine
配置主机信息
点击对应机器的租用按钮后,右侧会弹出机器下单框,我们可以对机器进行配置:
  • 仅在主机运行时产生费用,其余状态皆不计费。详细计费及扣款说明
  • 基础镜像筛选:给大家提供的训练代码主要依赖 Pytorch1.10 和 CUDA11.3,因此选择Pytorch1.10镜像
  • 选择好镜像后,我们可以进行其它配置,如:VNC功能开启、公钥设置、高级选项中的自定义端口等,这些配置在主机启用后,将无法再次修改,所以在开启租用前必须要设置好。
  • 设置使用GPU数,最小租赁单元为一张 GPU 。如果选择多张GPU,内存、硬盘、CPU 都会根据选择 GPU 的数量,按倍数提供。
select-mirror
设置好机器基本环境,我们点击下单即可。(如上所述,如果你是新用户,绑定矩池云微信公众号后获得的体验金可以在释放机器时直接抵扣费用)
如果列表中没有您想要的镜像,可以联系客服登记您的需求,矩池云将定期新增镜像。
主机启动
主机启动过程中不会产生费用,主机的启动过程有可能会超过 1 分钟,请耐心等待(启动完成后页面会自动刷新),因为主机在启动中可能需要拉取镜像,启动用时受镜像大小和网络情况影响。
主机启动成功后进入运行中状态,并开始计费。运行状态下,可复制当前主机的 URL 地址进行主机的访问。
machine-running

3.3 远程连接主机

如何通过SSH访问主机?
  • 复制SSH链接,本地打开终端/CMD/Shell,粘贴SSH链接
  • 回车后需要输入连接密码,在租用界面点击复制密码按钮,
  • 右键粘贴密码(没有显示是正常的),再回车即可成功连接主机了
建议大家通过公钥方法连接SSH,用户可以快速高效访问主机,点击直达公钥配置教程
如何通过VNC访问主机?
VNC 是一款优秀的远程控制工具软件,图形用户界面十分友好。
VNC的密码和SSH密码一样。VNC 可以使用 VNC Viewer 等工具访问,具体参见 VNC Viewer 远程连接矩池云机器教程
Pycharm、VS Code、Spyder、Xshell等更多工具连接使用矩池云主机的方法可以进入支持中心查看教程与案例
本次实战,用户可直接使用JupyterLab进行操作,复制租用界面中的JupyterLab链接到网页中(推荐chrome浏览器),即可使用。

3.4 解压代码、数据集压缩包

您在我的网盘页面中上传、新建、修改的文件,会直接反映到租用主机的 /mnt 目录下,反过来,如果您在主机的 /mnt 中进行了操作(比如将运行任务的结果文件输出到该目录),也会直接反映到我的网盘对应的目录中。
进入Jupyter页面后,我们先点击Terminal进入终端界面。
jupyter-terminal
并一行一行输入下面指令解压我们上传的代码数据压缩包。(解压前请确保文件上传完整,如果你自己上传了比较大的文件,unzip解压出错的话,你可以试试p7zip解压,点击查看具体使用方法
bash
cd /mnt
unzip MyMNIST.zip
cd MyMNIST
ls
  • cd /mnt :cd 先进入/mnt目录(矩池云网盘挂载目录)
  • unzip MyMNIST.zip: unzip在当前目录下解压MyMNIST.zip
  • cd MyMNIST:cd 进入到解压好的MyMNIST文件夹
  • ls:查看文件夹内的文件,有一个MNIST(数据集)和pytorch_mnist.ipynb(训练代码)
unzip-data
解压成功后,会在机器的mnt目录下生成一个新文件夹MyMNIST,里面包含了MNIST(数据集)和pytorch_mnist.ipynb(训练代码)。
同样的我们在矩池云我的网盘页面也会看到有一个新文件夹MyMNIST
matbox-mnt

3.5 运行代码

安装自己需要的第三方包
以tqdm包为例子,如果在运行代码过程出现了ModuleNotFoundError: No module named 'tqdm',说明我们选择的系统镜像中没有预装这个包,我们只需要再JupyterLab的Terminal输入pip install tqdm即可安装相关包。
pip-install
其他自己需要的第三方包安装方法也类似。
在JupyterLab中运行代码
JupyterLab目录里面,我们依次点击mnt->MyMNIST进入到项目文件夹,在项目文件夹下双击pytorch_mnist.ipynb文件,即可打开代码文件。
open-code
打开代码文件后,我们就可以直接运行了,截图中给大家说明了几个常用的JupyteLab 按钮功能。
jupyter-button-function
大家下载的pytorch_mnist.ipynb中有完整的代码,大家点击运行按钮即可运行,如果想直接看运行过程文文章可以点击这里查看
保存模型
如果你有执行后保存模型或者其他数据文件代码,推荐你将对应内容保存到/mnt目录中,会同步到网盘。
python
# 保存训练好的模型
torch.save(net,'/mnt/MyMNIST/torch_mnist_model.pth')
保存成功后,JupyterLab 中对应文件夹会出现该文件,在矩池云网盘对应目录下也会存在。
jupyterlab-pth
matbox-pth
查看机器监控
在开启机器后,我们可以在机器租用界面点击详情按钮,进入机器监控页面。
machine-details
在机器监控页面,我们可以看到机器的GPU、显存、CPU、内存、硬盘使用情况。当你发现代码运行很慢时就可以看看机器监控,看看GPU等相关使用情况。
view-monitoring

3.6 保存环境

如果您对环境修改较多(比如自己安装了一些其他包),并且后面还需要使用本环境,可以在释放机器之前在租用界面点击 更多 - 保存环境。您也可以跳过此步骤。
svae-snapshot
注意,保存的环境会保存您除网盘外,机器中其他盘符中所有文件,所以保存文件前,您可以把自己的代码、数据文件先移动到/mnt中,然后再执行保存操作。
另外保存的环境会以.snap结尾的文件存放在您的网盘中,因此,会占用您的网盘空间,如果网盘空间不足会导致保存失败。
保存环境后,下次租用机器时可以直接在我的环境中启动。
详见教程保存环境教程

3.7 停止租用

当我们跑完代码,暂时不需要使用机器时,可以在在租用界面点击对应主机的停止并释放按钮释放机器,确认停止租用后服务终止,并根据您的使用时长收取费用。您网盘中的数据会继续保留。
如果您有时长卡、算力豆、优惠券等福利,会在停止租用时进行结算。费用的具体抵扣逻辑 点击此处查看
注意: 包周、包月机器目前不支持在有效期内自主释放,并且到期释放机器前会提醒。

4. 高级功能介绍

4.1 VNC功能

VNC:是一款远程控制工具软件,图形用户界面十分友好。

如果选择镜像支持VNC功能,选择镜像后会出现是否开启VNC功能按钮,需要使用,点击开启即可,点击直达VNC连接使用方法教程
open-vnc

4.2 设置公钥

矩池云支持使用公钥登录,或者密码登录,租用机器后,平台会自动为您生成 SSH 的登陆密码,租用后可在租用列表中复制。
公钥登录安全性更高,如果已经有添加过公钥,平台会默认选择公钥登录。
如果您选择的镜像导出了 SSH 协议的端口或者您自定义的端口导出设置了 SSH 协议,为了更高的安全性考虑,可以设置公钥以便通过公钥进行 SSH 免密登录,更加安全和可靠。
公钥需在用户本地生成方法:
  1. 打开您本地的终端(如 Git Bash),输入 ssh-keygen 命令,Windows 用户如果提示没有该命令,建议使用 Git Bash,点击下载安装Git
  2. 确认存放公钥的地址。您可使用默认路径,直接 enter 键确认
  3. 输入密码和确认密码。如果不想设置密码,直接按两次 enter 键。生成后获取您的公钥
  4. 进入 .ssh 目录:cd ~/.ssh
  5. 查看公钥:cat id_rsa.pub
复制您的公钥,前往个人中心 - 我的租用 - 我的公钥,将复制的公钥内容填入设置公钥文本框中,点击保存按钮即可。若要修改,点击修改按钮,即可填入新的公钥。
set-public-key

4.3 高级选项

如果您有高级配置需求,也可以配置高级选项。
  • 环境变量:用于设置机器中的环境变量。
  • 入口命令:入口命令请以 #!/bin/bash 开头。这是一句 bash 命令,机器启动后,会自动执行您输入的这个命令,执行完毕后,会自动释放机器。
  • 端口导出:默认打开 SSH 协议的 22 端口和 HTTP 协议的 8888 端口。如果您有其他端口想要访问,可以在此导出。注意,机器启动后,中途无法导出端口,只能进行映射。
advanced-options

5. 充值与开发票

当您余额不足时,可在个人中心 - 左侧菜单栏上方,点击充值按钮进行充值。
recharge
充值金额必须为整数,1 元起充,不限门槛。目前仅支持支付宝充值。
点击充值后会弹出支付宝扫码支付页面,扫码支付完成后,可在个人中心 – 我的首页中,看到最新的账户余额和充值记录。
矩池云支持开具发票和租赁明细文件,发票申请可以看矩池云开发票方法