目录
PyCharm本地连接远程conda虚拟环境(TensorFlow)进行代码调试
说明
根据老师要求,需要吧github代码(tensorflow1.4 + Ubuntu16.04)转成pytorch,首先想做的事就是如何在本地debug,查看每一步生成的张量,但由于本人使用的电脑配置是:
MacBook Pro M1 Pro 2021
不支持cuda,所以很蛋疼,无法在本地debug,因为代码的框架tensorflow1.4+操作系统 Ubuntu 需要生成几个需要用到cuda文件的文件,倒腾了好几天,使用了macos、win11都没有成功。
灵机一动,在GCP上新建一个Ubuntu是不是可以了呢?操作起来吧
1. GCP创建Ubuntu+选择GPU
这里参考我之前的一篇 Google Cloud Platform设置centos ssh登录
这里唯一不太一样的是需要在创建的示例上添加GPU,如下图所示
选择N1
可以选择了
根据自己的需求选择GPU版本
如果创建不成功,可能是你的账号是试用账号,需要“转正”一下,具体根据GCP的要求来就可以,这里不做赘述
修改Boot Disk
Boot Disk 选择
注意硬盘size设多一点,10G显然是不够的,我这里设置了50G
其余步骤都与Google Cloud Platform设置centos ssh登录相同,设置好服务器实例的密码后进行下一步。
2.示例并远程连接
本地terminal输入密码
cesc@Cescs-M1-pro ~ ssh -p 22 root@[host_ip]
Load key "/Users/cesc/.ssh/id_rsa": invalid format
root@[host_ip]'s password:
登录成功
2. 安装miniconda+创建新虚拟环境
下载miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
安装miniconda
sh Miniconda3-latest-Linux-x86_64.sh
进入miniconda默认虚拟环境venv
bash
创建新虚拟环境,叫作tf,python版本2.7
conda create --name tf --yes python=2.7
进入新虚拟环境
conda activate tf
3. 在新虚拟环境中安装tensorflow1.4+cuda8.0
可以查看一下python版本
(tf) root@instance-1:~# python --version
Python 2.7.18 :: Anaconda, Inc.
安装tensorflow1.4
pip install tensorflow==1.4.0
下载cuda8.0
wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
安装cuda8.0
这里要注意略过OpenGL的安装,否则可能会安装失败参考
sh cuda_8.0.61_375.26_linux-run
到这里应该环境准备工作都已完成,如果哪里有问题,可以自行百度解决
4. PyCharm连接远程环境
打开PyCharm项目,打开Preferences,找到Python Interpreter或者Project Interpreter
点击配置解释器
选择SSH Interpreter
输入你的服务器公网ip和用户名(一般为root)
输入密码
找到服务器tf虚拟环境所在路径,选择python文件,然后finish
如果能在Preferences这里看到库文件,说明解释器添加成功
5. 配置本地代码和远程代码映射
根据图片中的步骤1、2、3依次点击,打开Configuration。
配置本地代码路径和服务器上的代码路径(服务器代码路径可以是空文件夹,之后可以从本地上传,或者git clone也OK)
到此,应该就可以在本地利用远程的虚拟环境调试代码了,利用cuda(cuda在/usr/local/cuda-8.0目录下)文件也生成了需要的文件。
6. 安装Jupyter及使用本地接口连接远程Jupyter
还可以安装Jupyter
pip install jupyter
jupyter notebook --allow-root
(tf) root@instance-1:~# jupyter notebook --allow-root
[I 07:29:08.563 NotebookApp] Serving notebooks from local directory: /root
[I 07:29:08.563 NotebookApp] The Jupyter Notebook is running at:
[I 07:29:08.563 NotebookApp] http://localhost:8888/?token=9491d37a11668e5da6710609bf6eb1593d4de8c3ac5e16db
[I 07:29:08.563 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 07:29:08.566 NotebookApp] No web browser found: could not locate runnable browser.
[C 07:29:08.566 NotebookApp]
To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime/nbserver-15116-open.html
Or copy and paste one of these URLs:
http://localhost:8888/?token=9491d37a11668e5da6710609bf6eb1593d4de8c3ac5e16db
在本地terminal使用以下命令映射本地8888到远程8888端口
ssh -L8888:localhost:8888 root@[your_server_ip]
成功后点击生成上边带token的网址
本地可以访问
新建一个python文件run一下试试看
大功告成!