一.远程服务器搭建Pytorch深度学习框架

1. 安装anaconda环境(网上有很多教程)

#进入Anaconda3-2022.05-Linux-x86_64.sh包目录打开终端运行下面命令,安装过程中一律yes就行
bash Anaconda3-2022.05-Linux-x86_64.sh 
  • 配置环境变量
    将Anaconda 添加到环境变量中
vim ~/.bashrc
  • 添加下面内容:
#/home/hpluo/anaconda3/bin为你本机anaconda bin的路径
export PATH="/home/hpluo/anaconda3/bin:$PATH"
  • source一下
source ~/.bashrc
  • 验证Anaconda环境是否配置成功
conda --version

anaconda安装成功

2. 创建conda虚拟环境

使用conda来创建虚拟环境,创建环境的命令如下:

conda create -n env_name python=3.7 
#env_name是创建的虚拟环境的名称,python=3.7是该环境中创建的python版本为3.7,执行完该命令,则我们需要的虚拟环境就创建好了。

3. 激活环境和查看环境列表

#env_name为上面你创建的虚拟环境名称
conda activate env_name
#首次激活:如果激活不成功需要init初始化的话,使用命令下面进行初始化,初始化成功后重启 (或者使用source activate env_name进行首次激活)
conda init bash
#查看创建的环境列表
conda env list

4. 安装Pytorch框架,选取你本机电脑相对应配置生成安装Pytorch指令,然后进行安装,等待几分钟就安装成功了

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

安装Pytorch框架
验证是否安装成功

##首先进入python命令行
#python
import torch
torch.cuda.is_available()
##返回True表示安装成功,返回False表示安装失败

查看torch版本:

import torch
print(torch.__version__)

查看cuda版本:

import torch
print(torch.version.cuda)

查看cudnn版本:

import torch
print(torch.backends.cudnn.version())

5 . conda指令参考下面链接

https://blog.csdn.net/KRISNAT/article/details/124041869

#创建虚拟环境
conda create -n your_env_name python=X.X(3.6、3.7等)
 
#激活虚拟环境
source activate your_env_name(虚拟环境名称)
 
#退出虚拟环境
source deactivate your_env_name(虚拟环境名称)
 
#删除虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all
##删除虚拟环境
conda env remove -n xxxxx 
#查看安装了哪些包
conda list
 
#安装包
conda install package_name(包名)
conda install scrapy==1.3 # 安装指定版本的包
conda install -n 环境名 包名 # 在conda指定的某个环境中安装包
 
#查看当前存在哪些虚拟环境
conda env list 
#或 
conda info -e
#或
conda info --envs
 
#检查更新当前conda
conda update conda
 
#更新anaconda
conda update anaconda
 
#更新所有库
conda update --all
 
#更新python
conda update python

6. 使用Xshell客户端进行远程服务器链接,使用Xftp客户端进行本地文件上传到远程服务器,使用学生邮箱注册可免费使用,学生邮箱链接:xshell、xftp学生免费版下载地址,具体安装教程网上很多。

二. Jupyter lab (Jupyter notebook)

  1. 在远程服务器安装Jupyter Lab (Jupyter Lab为Jupyter notebook下一个增强版本,功能更多更强,使用更方便)
pip install jupyterlab
  1. 生成配置文件
jupyter notebook --generate-config
#生成的文件位于:~/.jupyter/jupyter_notebook_config.py #配置文件
  1. 设置密码
$ python
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: ******
Verify password: ******
Out[2]: 'sha:xxxxxxxxxxxx'  #这段是密钥
  1. 修改配置文件(注意修改前按i进行修改,修改完后按Esc键,:wq退出保存)
#vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '*'#表示所有ip都可以访问
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 2589    #随便指定一个端口,但是要记住,注意端口是否冲突
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True
  1. 服务器启动jupyter lab
jupyter lab
  1. 在本地浏览器运行
浏览器输入http://IP:2589/ #自己的服务器IP地址和上面设置的端口号
  1. 在服务器终端,然后用下面的命令跑,就可以直接在浏览器打开,这样就不用在终端启动之后,再去浏览器打开了。
nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
  1. 使用screen开启后台进程跑jupyter lab代码,终端中断,或者电脑关机服务器也能在后台进程跑服务器代码
    也即是使用远程服务器的时候,断网或者手误关掉了远程终端,会导致会话中断,程序终止,当重新开启远程终端时,程序会继续从上一个中断的地方再次运行。而Screen连接的终端,会话独立运行,程序会一直进行。而且会话可以恢复,还可以自行删除。
#首先终端安装screen 包
sudo apt install screen
screen -S xxx # 开启一个后台进程,xxx为进程名字
conda activate pytorch1.11 #激活创建的pytorch环境
激活jupyter lab 
ctr+A+D #同时按住ctrl + A + D将创建的进程放入后台进程运行
screen -ls #显示在后台运行的进程信息
screen -r xxx #重新进入放在后台进程的进程,xxx为进程名或者进程端口号
screen -S 4025581 -X quit #删除放在后台进程的进程,xxx 为进程名或者进程端口号

screen注意:
如果之前的screen还是处于打开状态(1个screen无法同时打开2次),所以无法重新打开screen,需要使用screen -d id,先退出,然后再使用 screen -r id重新连接。

screen -d xxxx
screen -r xxxx
  1. 本机地址映射(可选)
    配置Xshell(远程服务器连接客户端):文件 -> 当前会话属性 -> 隧道,再进行添加,注意源主机是当前你的服务器,一般为localhost ; 侦听端口号是:上面你给jupyter lab配置的端口号2589;目标主机是指你的本机,一般为127.0.0.1,目标端口号也可以和侦听端口号一致为:2589,也可以是其他端口号(注意不要与本机端口号冲突),配置完成后点击确定就行,然后就可以在本机浏览器上面通过:http://127.0.0.1:2589/ 访问jupyter lab,访问指令:http://127.0.0.1:2589/lab(注意需要在远程服务器上面使用jupyter lab指令打开jupyter lab记事本,否则在本地浏览器(使用http://127.0.0.1:2589/lab或者http://172.20.15.172:2589/lab链接)都会打不开jupyter lab记事本
    本机地址映射

三. Pycharm配置

  1. 官网下载Pycharm专业版(社区版不能进行远程服务器连接)
  2. 学生邮箱可以免费激活Pycharm专业版,https://www.jetbrains.com/shop/eform/students
  3. 打开Pycharm专业版, File -> Settings ->Project: xxx ->Python Interpreter 后点击右边齿轮进行添加远程服务器python 解释器,注意python解释器需要到你创建的conda 虚拟环境目录中获取,如:/home/hpluo/anaconda3/envs/pytorch1.13/bin/python3.7,注意是先到envs目录下面选择创建的conda 虚拟环境,然后再到bin目录下选择python版本号,如下图所示:
    添加远程服务器python 解释器
  4. 然后点击 SSH Interpreter,添加服务器地址,端口号,用户名
    添加服务器地址,端口号,用户名
  5. 输入用户密码
    用户密码
  6. 添加远程服务器Python解释器,点击Interpreter选项,如果安装了anaconda,则python解释器位置为:anaconda3/envs/pytorch1.11/bin/python3.7
    在这里插入图片描述
  7. 修改远程服务器映射文件夹的目录,点击Sync folder选项(同步本机和远程服务器相对应文件夹的内容)
    修改远程服务器映射文件夹的目录
  8. 然后点击Finish就配置完成使用Pycharm连接远程服务器
  9. 点击Pycharm中Tools -> Deployment -> upload to xxxx 就能将当前修改的内容同步更新到远程服务器相对应文件上面
    同步更新文件
  10. 也可以点击Pycharm中Tools -> Deployment -> Configuration 查看配置的远程服务器的IP地址,以及本地文件夹映射到远程服务器对应的文件夹的路径
    本地文件夹映射到远程服务器对应的文件夹的路径
    远程服务器信息

四 在Pycharm中使用jupyter notebook

  1. 点击File -> new… -> jupyter notebook 输入文件名就创建了一个jupyter notebook文件,如下图所示。
    创建Jupyter notebook文件
  2. 配置远程服务器jupyter lab
    创建Jupyter notebook文件后,点击Configure Jupyter Server选项
    配置远程服务器jupyter lab
  3. 进入Settings页面,点击Configured Server选项配置远程服务器jupyter lab,输入http://IP:Port ,IP 为你远程服务器的IP地址(172.20.15.59),Port为你远程打开Jupyer notebook的端口号(2589)(比如我的是:http://172.20.15.59:2589),正确输入后,点击Apply,再点击OK即远程服务器jupyter lab配置成功,如下图所示。注意 Use Managed Server选项为你本地电脑的Jupyter notebook。
    配置远程服务器jupyter lab
  4. 注意:pycharm里面jupyter notebook工作目录在你指定远程服务器Jupyter notebook打开的目录下面,文件保存路径在你当前pycharm相对应目录下面,不是在你远程服务器指定的 Jupyter notebook 路径下面,在Jupyter notebook中使用**!pwd**查看jupyter notebook当前工作目录路径

5.指定远程服务器Jupyter notebook打开的目录

  1. 在终端使用命令打开jupyter_notebook_config.py
    文件:vim ~/.jupyter/jupyter_notebook_config.py
    vim查找命令:/xxxx
  2. 然后使用vim查找命令:/notebook_dir
  3. 最后将前面#去掉,添加jupyter notebook打开目录的路径,如下所示:
  4. 注意这个目录里面至少需要有一个文件,否则pycharm里面Jupyter notebook或者 浏览器里面jupyter notebook打不开
c.notebookApp.notebook_dir = '你想要打开的文件目录路径'
#例如我的是:c.NotebookApp.notebook_dir = '/home/hpluo/lhp/Codes/JupyterCodes/DeepLearing-LiMu/pytorch'

指定远程服务器Jupyter notebook打开的目录
4. 重启服务器和jupyter notebook后,jupyter notebook打开后即为你在远程服务器指定的Jupyter notebook打开的目录
5. jupyter notebook 操作

#查看python安装包命令
!conda list 
#查看文件所处路径
!pwd
#查看当前目录文件
!ls

6. Pycharm新建文件夹的操作(需要连接远程服务器并且本地创建的文件夹需要映射上传到远程服务器相应位置操作)

Pycharm新建文件夹的操作:首先pycharm新建本地文件目录,然后选择远程服务器上面的python解释器,然后选择映射同步上传到远程服务器上面的文件目录,如下图所示,注意这个路径为远程服务器的相对路径,真正创建的文件目录路径为(远程服务器根路径+相对路径),因此创建的文件目录在(远程服务器根路径+相对路径)总路径连接起来的路径下面,远程服务器根路径在pycharm–>Settings–>Build,Execution,Deployment–>点击Deployment后看右侧页面,如下图所示。注意新建文件后如果需要在pycharm新建jupyter notebook记事本的话,则需要重新在Pycharm中配置jupyter notebook在远程服务器环境,如上面操作四。

远程服务器根路径
Pycharm新建文件夹的操作
因此搞清楚pycharm针对远程服务器进行新建文件夹操作后,因此将我的根路径设置为:“/”(也即是远程服务器最开始的目录路径),如下图所示,相对路径设置为:‘’/home/hpluo/lhp/Codes/PycharmCodes/pythonProject2’',如下图所示,因此根路径+相对路径得到pycharm针对远程服务器创建的文件夹路:为径/home/hpluo/lhp/Codes/PycharmCodes/pythonProject2
我的远程服务器文件夹根路径

我的远程服务器文件夹相对路径

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐