目标:掌握常见深度学习代码运行技巧,实现能够复现跑通别人开源的项目,以为GAN网络为例。
一、代码+数据集
代码地址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
代码下载:一键下载压缩包,然后解压,用pycharm打开项目
数据集地址:Index of /cyclegan/datasets
数据集下载:点集需要的数据集下载, 解压后放在项目的dataset文件夹中(其他项目可能是data具体看一下readme或者代码)
预训练模型地址:Index of /cyclegan/pretrained_models
别人训练好的模型,以pth结尾,保存在项目中的checkpoints/horse2zebra.path_pretrained文件夹中(训练时会自动生成这个文件夹)
二、选择编译器,安装依赖
1.项目解压后如图所示,使用pycharm打开该项目的文件夹
2.选择环境:打开项目后,点击File栏下的setting,找到Python interpreter,选择需要的Python环境,点击OK。(我这里是本地,没有弄虚拟环境,后续连接服务器跑的时候学习一下)
3.打开requirements.txt文件,这个文件下都是需要该项目使用到的库,需要提前安装,这里有个一键安装的方法,不需要一个个手动pip install:打开Terminal 控制台,输入pip install -r requirements.txt 即可,它会自动读取文件中的依赖并安装。
三、配置参数
左边的train.py和test.py就是训练和测试用的代码了,但是打开之后直接跑会报错:
test.py: error: the following arguments are required: --dataroot
意思就是需要先指定一些参数,以test为例,此时点击RUN下拉菜单,点击Edit Configurations,或者右键点击Modify run configurations
--dataroot datasets/horse2zebra/testA #指定用于测试的数据路径
--name horse2zebra_pretrained #指定测试结果存放路径
--model test --no_dropout #指定模式为test,不加dropout
--gpu_ids -1 #不使用GPU跑
注意:一般的项目代码都是使用gpu跑的,所以大家需要有一台有显卡的电脑,按照自己的显卡先安装cuda和cudnn,和对应的pytorch才能正常运行,如果没有的话可以输入--gpu_ids -1 表示不使用GPU跑 (不是一直有效)。
四、使用预训练模型进行测试
方式1:打开test.py,右键Run(需要提前配置参数)
方式2:直接在控制台输入以下命令,带参运行test.py(这些命令在readme中都有)
python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout
运行结束后,就可以到results目录下查看运行结果了(是不是很简单)。
注意,如果报错的话,可能需要修改一下预训练模型的名字,根据报错修改即可。
大概就是如此,至于训练其实也是一样的,设置参数直接运行就好了,只是输出的是模型,而且跑的时间比较久,所以不展示了。重点是看懂代码,如何修改模型才是重点,这个后面讲。
常用代码
import torch
print(torch.__version__) #查看pytorch版本
print(torch.cuda.is_available())#查看gpu(cuda)是否可用
---控制台---
nvidia-smi #查看cuda版本