1.硬件条件 笔者是用的自己的笔记本远程连接服务器进行代码复现的
2.前置准备 2.1新建文件夹 首先,在服务器中建立存放code的文件夹
2.2下载代码 这里有两种情况:
在服务器中用git clone
的方法下载代码,
先把整个代码文件包下载到本地,然后再用Pycharm上传至服务器,笔者这里用的是第二种方法
3.配置环境 这里有两种情况:
下载的代码文件中有requirements.txt
文件
有这个文件那复现代码工作就已经完成了一般了
请跳到3.5和3.7,然后直接在虚拟环境里自动安装所有需要的包:
1 pip install -r requirements.txt
下载的代码文件中没有**requirements.txt**
文件
很不幸,笔者这次是第二种情况
3.1确认Pytorch版本 首先,用Pycharm打开代码文件大概看一眼原作者用了什么包,笔者这里用的是Pytorch,然后根据原作者在GitHub上上传代码的年份反推了一下,原作者大概用的是1.8版本的Pytorch
3.2确认系统版本能支持的最低和最高cuda版本
输出:
1 Ubuntu 20.04 .5 LTS \n \l
经百度查得ubuntu20.04最低支持cuda11.0
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
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 torchprint (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 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.下载数据集 这里也有两种情况
源代码里有现成的数据集
那直接就开始跑就行了,在readme.md文件里一般会有开始跑代码的命令行:
1 python mitbih_Train_CGAN.py
源代码里没有现成的数据集
笔者这里是第二种情况,那么就去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