PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试

目录

  • PyCharm本地连接远程conda虚拟环境(TensorFlow)进行代码调试
    • 说明
    • 1. GCP创建Ubuntu+选择GPU
    • 2.示例并远程连接
    • 2. 安装miniconda+创建新虚拟环境
    • 3. 在新虚拟环境中安装tensorflow1.4+cuda8.0
    • 4. PyCharm连接远程环境
    • 5. 配置本地代码和远程代码映射
    • 6. 安装Jupyter及使用本地接口连接远程Jupyter

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,如下图所示

PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第1张图片
选择N1
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第2张图片

可以选择了
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第3张图片

根据自己的需求选择GPU版本
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第4张图片

如果创建不成功,可能是你的账号是试用账号,需要“转正”一下,具体根据GCP的要求来就可以,这里不做赘述

修改Boot Disk
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第5张图片

Boot Disk 选择
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第6张图片

注意硬盘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:

登录成功
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第7张图片

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
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第8张图片
点击配置解释器
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第9张图片
选择SSH Interpreter
输入你的服务器公网ip和用户名(一般为root)
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第10张图片
输入密码
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第11张图片
找到服务器tf虚拟环境所在路径,选择python文件,然后finish
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第12张图片

如果能在Preferences这里看到库文件,说明解释器添加成功
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第13张图片

5. 配置本地代码和远程代码映射

根据图片中的步骤1、2、3依次点击,打开Configuration。
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第14张图片
配置本地代码路径和服务器上的代码路径(服务器代码路径可以是空文件夹,之后可以从本地上传,或者git clone也OK)
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第15张图片
到此,应该就可以在本地利用远程的虚拟环境调试代码了,利用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的网址
在这里插入图片描述
本地可以访问
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第16张图片
新建一个python文件run一下试试看
PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试_第17张图片
大功告成!

你可能感兴趣的:(机器学习,tensorflow,ubuntu,pycharm,机器学习,jupyter)