cycleganGPU训练自己的数据 (草履虫都能看懂系列)
CycleGAN主要用于图像到图像的转换任务,能够将图像从一个领域转换到另一个领域,而无需在训练过程中使用配对示例。该模型尤其适用于将照片转换为绘画、改变图像中的季节或在不同艺术风格之间转换图像等任务。
目录(方便查找自己所需)
1、Cyclegan介绍
CycleGAN主要用于图像到图像的 转换任务,能够将图像从一个领域转换到另一个领域,而无需在训练过程中使用配对示例。该模型尤其适用于将照片转换为绘画、改变图像中的季节或在不同艺术风格之间转换图像等任务。
2、前提所需
anaconda3、pycharm下载完成(最好不要最新版本,也不要太旧,本人使用2021.3)
3、Cyclegan模型下载
1.模型下载:github模型代码下载
找个文件夹解压
4、环境配置
4.1.下载Cyclegan所需虚拟环境
打开anaconda prompt
cd进入你下载的Cyclegan文件夹中
创建Cyclegan环境:输入 conda create -n cyclegan(代表环境名称)python=3.8(使用Python的版本),按y+回车
无脑复制
conda create -n cyclegan python=3.8
进入你刚安装的cyclegan环境:conda activate cyclegan(你的环境名称)
无脑复制
conda activate cyclegan
进入后()会变成你环境名称 (判断是否安装成功)
4.2.下载Cyclegan依赖库
首先到你下载的cyclegan文件中找到requirements.txt文件
文件中为你需要安装库的名称和具体的版本细节
安装包里的库文件
无脑复制
pip install -r requirements.txt
只要中间不报错即为下载成功
4.3.下载CUDA(GPU所需)
cuda是连接GPU和模型训练的桥梁,pytorch是进入桥梁那段上坡的路(CPU训练慢,GPU快还好)(最好选择在虚拟环境安装,以下介绍为虚拟机安装过程)
查看cuda最高支持版本,win+R,输入cmd,打开命令窗口,输入nvidia-smi.exe,红框位置为最大可支持安装版本
无脑复制
conda install cudatoolkit=11.7
安装后的结果
4.4.下载pytorch(GPU所需)
cuda是连接GPU和模型训练的桥梁,pytorch是进入桥梁那段上坡的路(pytorch库必须和cuda版本匹配)(其实这个在之前下载yolov10虚拟环境已经下载过了,但是为了确保你的pytorch版本和CUDA版本一致,所以这里在从下一遍以确保环境没有问题)
无脑复制(CUDA 11.7)
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
安装后的结果
或者去pytorch官网查找(只是教你怎么去找你所下载CUDA对应的pytorch,以防下载的别的版本的CUDA)(例如CUDA=11.8),我之前写过yolov10,其中就有,这边就直接引用了(yolov10)
5、pycharm添加解释器
点击文件、设置
找到python解释器,添加新的解释器
找到conda环境、使用现有环境,找到你前面配置的cyclegan(环境名称)
还有老版的pycharm,使用应该找Anaconda3\envs\cyclegan(环境名称)\python.exe
(用yolov9举例)
点击应用
6、数据集制作
在datasets文件中,创建你所需要的数据文件,例如我现在是做鱼的风格转移
建立trainA,testA,trainB,testB文件,分别放训练和验证集,A文件一个风格,B文件一个风格
然后我在放个官网数据集地址,没有数据集可以下载官网的:官网数据集
7、训练
7.1打开训练可视化界面
在开始训练前,需要打开visdom(训练可视化界面),在命令行直接输入以下命令:然后你就可以到给的网址看训练过程等其他数据
无脑复制
python -m visdom.server
如果没有输入,会出现报错‘[WinError 10061] 由于目标计算机积极拒绝,无法连接’的问题。
7.2打开参数配置文件(train_options.py)
可以修改配置
7.3训练自己模型数据
打开新的终端,出现本地(2)
输入训练数据代码(修改为你自己数据位置和结果名称)
python(训练/验证) train.py --dataroot(数据集位置) ./datasets/fish --name(结果名称) fish_cyclegan --model(用什么模型) cycle_gan
无脑复制
python train.py --dataroot ./datasets/fish --name fish_cyclegan --model cycle_gan
这样就算是跑起来了,可以去http://localhost:8097看可视化界面
训练结束后,可以去fish_cyclegan看结果,在checkpoints文件中
8、测试(输出结果)
8.1生成由A风格转换的到的假B风格的图片
在checkpoints文件夹中,建立fish_cyclegan_results(修改为你自己文件名称)
将训练结果fish_cyclegan文件夹中的latest_net_G_A.pth文件复制到fish_cyclegan_results中,并改为latest_net_G.pth
输入测试代码(修改为你自己数据位置和结果名称)
python(训练/验证) test.py --dataroot(数据集位置) ./datasets/fish/testA --name(结果/输入名称) fish_cyclegan_results --model(用什么模型) test --no_dropout(必须为testA)
无脑复制
python test.py --dataroot ./datasets/fish/testA --name fish_cyclegan_results --model test --no_dropout
这样就算是跑起来了,可以去results/fish_cyclegan_results看结果
大功告成,觉得好的就点点赞,点点收藏,如有什么错误或者建议麻烦指出(字码错了也可以说,毕竟经常这样),谢谢
更多推荐
所有评论(0)