从零开始复现深度学习代码
1.硬件条件
笔者是用的自己的笔记本远程连接服务器进行代码复现的
2.前置准备
2.1新建文件夹
首先,在服务器中建立存放code的文件夹
| mkdir TTSCGAN | 
2.2下载代码
这里有两种情况:
- 在服务器中用git clone的方法下载代码,
- 先把整个代码文件包下载到本地,然后再用Pycharm上传至服务器,笔者这里用的是第二种方法
3.配置环境
这里有两种情况:
- 下载的代码文件中有 - requirements.txt文件- 有这个文件那复现代码工作就已经完成了一般了 - 请跳到3.5和3.7,然后直接在虚拟环境里自动安装所有需要的包: - pip install -r requirements.txt 
- 下载的代码文件中没有 - **requirements.txt**文件- 很不幸,笔者这次是第二种情况 
3.1确认Pytorch版本
   首先,用Pycharm打开代码文件大概看一眼原作者用了什么包,笔者这里用的是Pytorch,然后根据原作者在GitHub上上传代码的年份反推了一下,原作者大概用的是1.8版本的Pytorch
3.2确认系统版本能支持的最低和最高cuda版本
| cd /root | 
输出:
| Ubuntu 20.04.5 LTS \n \l | 
经百度查得ubuntu20.04最低支持cuda11.0
| nvidia-smi | 
 
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
| conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge | 
卸载CUDA命令:
| 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
| 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
| python | 
3.7用Anaconda创建虚拟环境
| conda create -n 你想创建的名字 python==版本号 | 
| 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
| 创建虚拟环境 | 
3.9在虚拟环境中安装Pytorch和CUDA
先进入环境
| source activate TTSCGAN | 
再进行安装
| conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch | 
3.10在虚拟环境中安装代码需要的包
其实到这里就可以直接下载数据开始跑代码了,然后看报错,少什么包就安装什么包就行,但是笔者因为比较熟悉,看代码里的import先安装一些常用的包
| conda install numpy -y | 
关于版本的问题,直接先默认装,会装最新的版本,然后跑的时候报错再退回低版本或者改代码
4.下载数据集
这里也有两种情况
- 源代码里有现成的数据集
那直接就开始跑就行了,在readme.md文件里一般会有开始跑代码的命令行:
| python mitbih_Train_CGAN.py | 
- 源代码里没有现成的数据集
笔者这里是第二种情况,那么就去readme.md文件,或者作者的原文中找,一般都会给出下载地址
然后根据源代码提示把下载下来的数据集放在指定位置:
| filename='./mitbih_test.csv' | 
5.用Pycharm将代码上传至服务器
这里由于篇幅过长,Pycharm远程连接服务器的内容将新开一篇文章叙述
https://wh1720848796.github.io/post/b108b838.html
6.跑代码
6.1使用screen实现 关掉本地计算机 而远程服务器继续跑代码
这与本章无关,所以就简单提一下,感兴趣的话可以去看底部的参考链接
| 创建screen的时候要指定窗口的名称并进入窗口: | 
| 进入窗口: | 
6.2少什么包补什么包
| Traceback (most recent call last): | 
| pip install scikit-learn | 
7.跑的时候会经常用到的命令
| 进入窗口: | 
参考链接:
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