评论

收藏

[JavaScript] [Pytorch系列-67]:生成对抗网络GAN - 图像生成开源项目pytorch-...

开发技术 开发技术 发布于:2021-12-31 20:08 | 阅读数:690 | 评论:0

第1步:下载或克隆pytorch-CycleGAN-and-pix2pix所有代码
!git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
也可以通过Windows浏览器下载:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
备注:
需要把代码下载或拷贝到jupter的工作目录中。
第2步:切换当前目录
import os
os.chdir('pytorch-CycleGAN-and-pix2pix/')
第3步:安装依赖文件:
!pip install -r requirements.txt
torch>=0.4.1
torchvision>=0.2.1
dominate>=2.3.1
visdom>=0.1.8.3
# 备注:主要是可视化工具
第4步:下载pix2pix数据集
bash ./datasets/download_pix2pix_dataset.sh [cityscapes, night2day, edges2handbags, edges2shoes, facades, maps]
支持的数据集:
DSC0000.png
  • cityscapes: 城市轮廓转换成城市街景实体
  • night2day:  晚上转换成白天
  • edges2handbags:边沿转换成手提包
  • edges2shoes:边沿转换成鞋子
  • facades:房屋外观转换成房子实体
  • maps:地图轮廓转换成实体地图
也可以根据./datasets/download_pix2pix_dataset.sh的内容,获取数据集URL, 通过URL手工下载:Index of /pix2pix/datasets
DSC0001.png

备注:
  • 有些数据集很多,高达8G, 下载时需留意硬盘空间是否可以承载。
  • pix2pix的数据集是成对出现的。
  • Facades数据集最小,方便测试验证。
第5步:下载预训练模型
说明:
预训练模型的重要:以预训练模型为基础,加快后续模型的训练过程,否则的话,需要非常长的时间进行训练才能收敛到较好的水平。因此,强烈建议下载预训练模型。
bash ./scripts/download_pix2pix_model.sh [edges2shoes, sat2map, map2sat, facades_label2photo, and day2night]
下载的预训练模型安装在如下的目录中:
./checkpoints/{NAME}_pretrained/     #名字必须与模型名一致,否则代码找不到预训练模型。
打开/scripts/download_pix2pix_model.sh,获得预训练模型的URL:
Index of /pix2pix/models-pytorch
支持的预训练模型包括(与数据集一致)
DSC0002.png

备注:不同的模型,有不同的数据集。
第6步:训练模型
python train.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA
  • ​​--dataroot ./datasets/facades: 指定数据集的路径​​
  • ​​--name facades_pix2pix:与预训练mode的名称​​
  • ​​--model pix2pix:模型分类:pix2pix or CycleGAN​​
  • ​​--direction BtoA:训练方向。​​
  • ​​--gpu_ids:0,1,..​​ to train on multiple GPUs, 在多GPU情况下,指定GPU id。
  • ​​batch_size: Batch size。​​
第7步:测试模型
python test.py --dataroot ./datasets/facades --direction BtoA --model pix2pix --name facades_pix2pix
  • ​​--dataroot ./datasets/facades: 指定数据集的路径​​
  • ​​--name facades_pix2pix:与预训练mode的名称​​
  • ​​--model pix2pix:模型分类。​​
  • ​​--direction BtoA:训练方向​​

关注下面的标签,发现更多相似文章