1.硬件条件

笔者是用的自己的笔记本远程连接服务器进行代码复现的

2.前置准备

2.1新建文件夹

首先,在服务器中建立存放code的文件夹

1
mkdir TTSCGAN

2.2下载代码

这里有两种情况:

  1. 在服务器中用git clone的方法下载代码,
  2. 先把整个代码文件包下载到本地,然后再用Pycharm上传至服务器,笔者这里用的是第二种方法

3.配置环境

这里有两种情况:

  1. 下载的代码文件中有requirements.txt文件

    有这个文件那复现代码工作就已经完成了一般了

    请跳到3.5和3.7,然后直接在虚拟环境里自动安装所有需要的包:

    1
    pip install -r requirements.txt
  2. 下载的代码文件中没有**requirements.txt**文件

    很不幸,笔者这次是第二种情况

3.1确认Pytorch版本

首先,用Pycharm打开代码文件大概看一眼原作者用了什么包,笔者这里用的是Pytorch,然后根据原作者在GitHub上上传代码的年份反推了一下,原作者大概用的是1.8版本的Pytorch

3.2确认系统版本能支持的最低和最高cuda版本

1
2
cd /root
cat /rtc/issue

输出:

1
Ubuntu 20.04.5 LTS \n \l

经百度查得ubuntu20.04最低支持cuda11.0

1
nvidia-smi

wh

Driver Version为431.40,可安装的最高CUDA版本为11.7.

3.3根据Pytorch版本确认对应的CUDA版本

去官网查:https://pytorch.org/get-started/previous-versions/

经官网查得1.8.0版本的Pytorch可安装10.0、11.1的CUDA,那么选择11.1的CUDA

1
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

卸载CUDA命令:

1
conda uninstall cudatoolkit==11.1.1

wh

Tips: NVIDIA显卡驱动版本和CUDA版本对应关系截图来自:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

3.4确认并安装cuDNN版本

CUDA和cuDNN版本对应关系:

https://developer.nvidia.com/rdp/cudnn-archive

1
conda install cudnn=8.0.5

3.5根据Pytorch版本确认对应的Python版本

在这查 https://github.com/pytorch/vision#installation

查得>=3.6, <=3.9的Python都可以,这里选了3.8

注意:3.6版本的Python是一个分水岭,代码不通的时候可以把Python版本退回到3.6试试

3.6查看是否成功使用了对应版本的python、CUDA、cuDNN

1
2
3
4
5
python
import torch
print (torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())

3.7用Anaconda创建虚拟环境

1
conda create -n 你想创建的名字 python==版本号
1
conda create -n TTSCGAN python==3.8

在执行下面的代码前请先保证已在服务器中安装了Anaconda,并把源换成国内的方便之后下载包

Anaconda配置国内镜像源:

https://blog.csdn.net/william118/article/details/119073539

3.8Anaconda conda常用命令

https://blog.csdn.net/chenxy_bwave/article/details/119996001

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# 1.环境相关
创建虚拟环境
conda create -n TTSCGAN python==3.8
复制虚拟环境
conda create --name new_env_name --clone old_env_name
激活环境Windows&Linux
conda activate TTSCGAN
或者
source activate TTSCGAN
退出环境
conda deactivate
查看当前环境
conda list
查看有哪些虚拟环境
conda env list
conda info --envs
删除环境
conda remove -n pytorch_env(虚拟环境名称) --all
# 2.包的安装和删除、环境删除
conda install [package]
如:conda install numpy
指定包版本:conda install xlrd=1.2.0 (注意是单等于号)
也可以使用pip install安装 pip install xlrd==1.2.0 (注意是双等于号)
查看可用的版本:pip install spyder==*
删除当前环境中的某个包
conda remove [package]
请注意:并非conda uninstall
pip指令下才有 pip uninstall
升级包
conda update [package]
conda update --all 升级所有包
在安装前的确认[Y/N]的时候,false表示由用户再做决定,而不直接进行:
conda config --set always_yes false
# 3.分享/备份环境
一个分享环境的快速方法就是给他一个你的环境的.yml文件。
首先激活到要分享的环境,在当前工作目录下生成一个environment.yml文件。
conda env export > environment.yml
对方拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境。
conda env create -f environment.yml
# 4.镜像源
查看镜像源
conda config --show channels
添加镜像源(如清华源)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set show_channel_urls yes
conda config --set show_channel_urls yes的意思是从channel中安装包时显示channel的url,这样就可以知道包的安装来源了。
清除索引缓存,保证用的是镜像站提供的索引
conda clean -i
移除某个镜像源(如清华源)
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
pip方法(临时指定安装某个包使用的镜像源)
pip install [package] -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install [package] -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
清华:https://pypi.tuna.tsinghua.edu.cn/simple
腾讯:https://mirrors.cloud.tencent.com/pypi/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
# 5.清理
删除没有用的包
conda clean -p
删除tar包
conda clean -t
删除所有的安装包及cache
conda clean -y --all

3.9在虚拟环境中安装Pytorch和CUDA

先进入环境

1
source activate TTSCGAN

再进行安装

1
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch

3.10在虚拟环境中安装代码需要的包

其实到这里就可以直接下载数据开始跑代码了,然后看报错,少什么包就安装什么包就行,但是笔者因为比较熟悉,看代码里的import先安装一些常用的包

1
2
3
4
5
6
conda install numpy -y
conda install pandas -y
conda install scipy -y
conda install tqdm -y
pip install Pillow
pip install argparse

关于版本的问题,直接先默认装,会装最新的版本,然后跑的时候报错再退回低版本或者改代码

4.下载数据集

这里也有两种情况

  1. 源代码里有现成的数据集

那直接就开始跑就行了,在readme.md文件里一般会有开始跑代码的命令行:

1
python mitbih_Train_CGAN.py
  1. 源代码里没有现成的数据集

笔者这里是第二种情况,那么就去readme.md文件,或者作者的原文中找,一般都会给出下载地址

然后根据源代码提示把下载下来的数据集放在指定位置:

1
filename='./mitbih_test.csv'

5.用Pycharm将代码上传至服务器

这里由于篇幅过长,Pycharm远程连接服务器的内容将新开一篇文章叙述

https://wh1720848796.github.io/post/b108b838.html

6.跑代码

6.1使用screen实现 关掉本地计算机 而远程服务器继续跑代码

这与本章无关,所以就简单提一下,感兴趣的话可以去看底部的参考链接

1
2
3
4
5
6
7
8
9
10
11
12
创建screen的时候要指定窗口的名称并进入窗口:
screen -L -t 自定义log名 -S 自定义screen窗口名字
screen -L -t windows1 -S TTSCGAN
退出screen:
screen -d 12540.TTSCGAN
ctrl+a+d
查看所有创建的screen:
screen -ls
启动screen:
screen -r 12540.TTSCGAN
删除screen:
screen -X -S xxx.TTSCGAN quit
1
2
3
4
5
6
7
8
进入窗口:
screen -r 12540.TTSCGAN
切换路径:cd到服务器中你文件的存放位置:
cd /home/sda/wh/TTSCGAN
进入环境:
source activate TTSCGAN
开始跑代码:
python mitbih_Train_CGAN.py

6.2少什么包补什么包

1
2
3
4
5
6
Traceback (most recent call last):
File "trainCGAN.py", line 6, in <module>
from DataLoader import *
File "/home/sda/wh/TTSCGAN/DataLoader.py", line 12, in <module>
from sklearn.utils import resample
ModuleNotFoundError: No module named 'sklearn'
1
2
3
4
5
pip install scikit-learn
pip install einops
pip install torchsummary
pip install imgaug
conda install -y -c conda-forge tensorboard

7.跑的时候会经常用到的命令

1
2
3
4
5
6
7
8
进入窗口:
screen -r 12540.TTSCGAN
进入环境:
source activate TTSCGAN
开始跑代码:
python mitbih_Train_CGAN.py
退出窗口:
ctrl+a+d

参考链接:

https://blog.csdn.net/ztmajor/article/details/117651176

https://blog.csdn.net/FionaAI/article/details/105174160

https://blog.csdn.net/weixin_44058333/article/details/99693489