使用PyCharm链接矩池云教程
如果您使用 PyCharm、VSCode 等 IDE 工具进行编程,可以通过 SSH 功能,远程使用矩池云的开发环境,为您提供更快更便捷的 GPU 服务哦。
本教程将以 PyCharm 为例,向您讲解如何使用矩池云机器环境。
使用前必读
- 请确保您的 Pycharm 为有 SSH 远程功能的专业版。社区版无远程功能。
- Pycharm 只适合于调试代码。若要进行长时间的训练,请使用 SSH,配合tmux或nohup命令进行,否则训练可能因网络问题或您自行关闭 Pycharm 而中断。
- Pycharm 不适合进行数据集的传输。选择项目时,建议只同步要调试的脚本,不要同步数据集。
- 请您注意,PyCharm 为 Jetbrains 开发的工具,矩池云仅提供接入矩池云的使用教程,IDE 本身的使用问题请联系 PyCharm 官方。
本教程中使用的为 PyCharm 2019.3.1(Professional Edition) 版。
矩池云提供网盘存储服务,您可先将数据集和脚本文件打包上传至网盘,提高上传速度,还能节省费用。
在租用了矩池云 GPU 机器后,您需要在 PyCharm 环境中进行配置以使用矩池云 GPU。
矩池云提供了 Pycharm 2019 插件(内测版)供用户使用,目前支持 Windows 下的 Pycharm Professional 2019.2 和 2019.3 版本。
其他 PyCharm 版本( Mac 系统下以及 Windows 2017、2018、2020、2019 的其余版本)请使用自行设置远程链接。
在内测期间,欢迎各位用户体验并向我们反馈意见。
新建 PyCharm 项目
如果您已经有本地项目,请先将数据集通过网盘上传至矩池云,在打开的本地项目中仅保留要调试的脚本即可。 例如您的项目为 Dogs_and_cats,项目下有一个 datasets 的数据集目录,和一个 code 的脚本目录。那么打开项目时,仅选择 code 目录即可。datasets 请通过网盘上传。
打开 PyCharm ,新建一个 Python 项目。
点击 Create ,创建项目。
在项目文件夹上点击右键,新建一个 Python 文件。
给 Python 文件起一个名字,例如 test
,回车。
在文件中,打一个简单的命令。
print("Hello world!")
至此,我们创建了一个简单项目。
自行设置远程连接
1. 修改 Python 解释器路径
Windows 系统,点击右上角 File - Setting。
如果是 Mac 系统,点击 Pycharm - Preferences。
点击 Project - Project Interpreter 展开,点击后面的设置按钮,选 Add,添加新的 Python 解释器。
在新打开的窗口中,选择 SSH Interpreter。若 PyCharm 版本不一致,需要您选择协议的,请选 SSH 协议。
这里需要填写您租用 GPU 机器的 HOST、端口号和用户名。
HOST(主机名):hz.matpool.com 或 hz-t2.matpool.com,请以您 SSH 中给定的域名为准。
Port(端口):矩池云租用记录里 SSH 连接里 -p 后的几位数字,例如 42799,通常是五位数
Username(用户名):root
点击 Next 进入下一步,会有一个远程连接提示,点击 Yes。
下一步进行授权。在 Password 中填写租用时自定义服务器密码。
下一步填写远程解释器的路径,
/root/miniconda3/envs/myconda/bin/python
若您选择的是 Python2.7_多框架,则镜像路径是:/root/anaconda3/envs/myconda/bin/python
请注意,您还需要修改下面的文件夹路径。PyCharm 的默认路径是 /tmp/PyCharm_project_***
,矩池云建议您将其修改到 /mnt
目录下。
因为 /mnt
是默认的网盘挂载目录,网盘不会随着机器释放而清空,可长期保存。
点击文件夹按钮,可修改远程同步文件夹路径。在弹出的窗口中,您可以直接输入,将 Remote Path 修改为 /mnt/PyCharm_Project_1
也可以点击右侧文件夹按钮,手动选择文件夹。该列表为矩池云 GPU 机器上的文件目录,建议您选择 /mnt
。
点击 OK ,回到解释器修改页面。点击 Finish 。添加完成后点击 OK 保存。
2. 运行文件
可以在下方的 File Transfer 中看到,文件已经同步到了服务器目录下。
配置后,Pycharm 会自动同步一些工具到远程服务器,会需要一段时间,请耐心等待。
如果在同步完成之前运行文件,可能会运行出错。您可以点击 Pycharm 底部查看报错原因。
右键文件名,待部署完成后,可以点击 Run 运行该文件。
在下方可以看到运行后的结果。
如果你发现文件没有上传,可能是因为页面太久没有操作了,此时可以选择 Tools - Deployment - Upload to,手动同步文件。
同步以后,文件传输 Tab 会提示,文件已经传输完成。
如果你遇到了 Checking Remote Helpers 的报错,
或者在运行时,提示里使用了 pydevconsole,因为 helpers 没有同步完成报错,
可以点击右上角的运行文件名,右键打开 Edit Configurations,
将 Run with Python Console 的勾取消,重新运行即可。
3. 下载远程文件
如果您之前有在矩池云网盘或机器上保存文件,可以下载到本地使用 PyCharm 进行编辑。
先新建一个项目,取名叫 DownloadProject
。
点击 Tools-Deployment-Configuration。
点击 Mappings 选项卡。点击 Deployment path 右侧的按钮,选择需下载的远程项目。
选中想要下载的目录,点击 OK 。
设置成功后,点击 Tools - Deployment - Download from 。
会自动下载同步文件夹里的内容。
可以看到下载日志,左侧项目中,远程的项目已经下载到了新建的本地项目中。
点击可查看文件。您可以开始在本地进行编写和运行。
4. 修改配置文件
若您再次租用了一台矩池云机器,机器和端口发生了变化,而 Pycharm 中的项目不变时,那么只要修改 Pycharm 的配置即可继续使用。
点击 Tools ,选择 Deployment - Configuration
修改 HOST 和 PORT 为您新租用机器的主机名和端口号即可。Root Path 保持为空即可,不要自动填充,可能会导致同步路径出错。
为了避免混淆,您可修改该链接名称为矩池云,以便下次使用。右键点击左侧列表中的 hz.matpool.com,选择 rename,重命名为矩池云。
Windows 插件使用教程
本插件适用的为 PyCharm 2019.3.1(Professional Edition) 版。其他版本可能存在未知问题,建议您自行开启远程设置。
1. 安装插件
点击 Pycharm 左上角 文件 - 设置,打开设置面板,选择 Plugins,进入插件列表。
在插件列表中,点击右上角,选择 Install plugins from disk。
在列表中,选择刚才下载的插件。
点击确定按钮。重启 Pycharm 即可。
2. 连接远程机器
点击右侧 Matpool Connect Tool 按钮,展开面板。
点击登录,输入矩池云的账号和密码。
登录成功后,选择要连接的机器。该列表中暂时只显示运行中的机器。
右键机器,选择连接。
如果有警告选择确认,然后输入租用时的密码。
输入密码后,会提示自动上传当前本地的 Project。默认上传路径为 /mnt/{Project_Name}。{Project_Name}为您本地项目名。
如果您点击取消,需要手动点击上传和下载按钮。不上传将无法使用远程服务。
3. 运行文件
上传成功后,右键文件名,即可在云端运行当前文件。
如果在本地修改了文件,修改内容会自动同步到远程。
如果没有自动同步,可以在 Tools - Deployment - Automatic Upload 中打开自动同步的开关。
4. 修改同步目录
点击选择,选择远程目录。
点击上传按钮,File Transfer 提示成功后即可。
5. 下载远程文件
如果要运行已经存在网盘或云端的文件,需要先下载到本地。
选择同步目录,然后点击右侧的下载按钮即可。
6. 多台机器
如果您在矩池云上租用了多台机器并且都正在运行,可在右侧列表中进行切换。
右键点击未连接的机器,连接成功后,原连接将被断开。
注意:断开后原文件传输将被终止,正在进行的程序不会停止但可能会没有输出。
使用远程终端
若您想要在 PyCharm 中远程执行 bash 命令,可通过 PyCharm 的 Terminal 工具进行操作。
Terminal 默认连接本地,您可以点击 Tools - Start SSH session ,连接远程服务器。
点击后会出现一个小框,选择 matpool.com 的远程服务。
选择后,PyCharm 下方会新创建一个与矩池云机器连接的 Terminal,您可在该 Terminal 中运行 bash 命令。
如果使用的话可以看一下这个教程《PyCharm 使用矩池云机器教程》。
关于pycharm同步的逻辑
是因为pycharm官方限制,必须每次都要同步数据的,不管你在矩池云上有没有那个一模一样的数据,同意会被覆盖。
你要同步的东西必须要在一个文件夹下,才能完全被同步上去,矩池云网盘目录是 /mnt
。
要思考单独上传还是分开上传
如果代码加数据集非常小
这种情况用管其他的,直接参考教程链接就OK,如果是同步到网盘下,那么路径改成/mnt/PyCharm_project_***
,因为pycharm会自己映射关系所以直接跑就OK了。
如果数据集有点大了
如果代码加数据集有一些大了,那么建议将数据集单独上传。上传可以参考《矩池云怎么上传文件夹?》。
我这里举例说明一下;
你现在本地有一个代码的文件夹叫PyCharm_project_***
,一个数据集的文件夹datasets
。
那么你将datasets
打包上传到网盘,解压之后会的到一个datasets
的文件夹,那么他现在的路径是/mnt/datasets/
。
然后你在参照上面一步将你本地的PyCharm_project_***
进行同步,那么他在网盘里面也会生成PyCharm_project_***
文件夹,路径为/mnt/PyCharm_project_***/
。
这个时候如果你想用你上传的数据集,你就要修改一下代码里面的路径。
打比方说在本地win下路径是D:\Windows\datasets
,那么将他修改成/mnt/datasets/
就OK了。