[Pytorch系列-66]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型测试pix2pix模型

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Pytorch系列-66]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型测试pix2pix模型相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122061704


目录

第1章 概述

1.1 代码架构与总体思路

1.2 本章基本思路

第2章 测试步骤

第1步:下载或克隆pytorch-CycleGAN-and-pix2pix所有代码

第2步:切换当前目录

第3步:安装依赖文件(可视化工具)

第4步:下载pix2pix数据集

第5步:下载预训练模型

第6步:模型测试

第7步 效果展示


第1章 概述

1.1 代码架构与总体思路

[Pytorch系列-63]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 代码总体架构_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录第1章 理论概述1.1普通GAN, pix2pix, CycleGAN和pix2pixHD的演变过程第2章 CycleGAN-and-pix2pix代码下载2.1 github代码链接2.2 github使用说明2.3 代码下载第3章CycleGAN-and-pix2pix代码代码结构3.1 目录结构3.2 图片转换的两大功能3.3 启动程序的三种方法..https://blog.csdn.net/HiWangWenBing/article/details/121940011

1.2 本章基本思路

(1)选择命令行或jupter进行测试

(2)选择所需要硬盘空间小的数据进行测试

(3)熟悉pytorch-CycleGAN-and-pix2pix项目的使用

(4)熟悉pix2pix的使用效果

第2章 测试步骤

第1步:下载或克隆pytorch-CycleGAN-and-pix2pix所有代码

如果已经完成,可以跳过此步骤。

(1)Linux 命令行方式:!git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

(2)Windows浏览器下载:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

备注:

  • 可以把代码下载或拷贝到jupter的工作目录中,以便后续可以通过jupter运行代码。

第2步:切换当前目录

(1)运行方式

  • Windows 命令行方式:

cd xxx

  • jupter方式:
import os
os.chdir('pytorch-CycleGAN-and-pix2pix/')

第3步:安装依赖文件(可视化工具)

如果已经完成,可以跳过此步骤。

  • Windows 命令行方式

pip install -r requirements.txt

  • Jupter方式
!pip install -r requirements.txt

torch>=0.4.1
torchvision>=0.2.1
dominate>=2.3.1
visdom>=0.1.8.3

第4步:下载pix2pix数据集

(1)支持的数据集

支持的数据集:

  • cityscapes: 城市轮廓转换成城市街景实体
  • night2day:  晚上转换成白天
  • edges2handbags:边沿转换成手提包
  • edges2shoes:边沿转换成鞋子
  • facades:房屋外观转换成房子实体
  • maps:地图轮廓转换成实体地图

(2)下载方式

  • Linux 命令行方式

bash ./datasets/download_pix2pix_dataset.sh facades

  • Jupter方式
!bash ./datasets/download_pix2pix_dataset.sh facades
  • Windows浏览器方式

根据./datasets/download_pix2pix_dataset.sh的内容,获取数据集URL, 通过URL手工下载:Index of /pix2pix/datasets

备注:

  • 有些数据集很多,高达8G, 下载时需留意硬盘空间是否可以承载。
  • pix2pix的数据集是成对出现的。
  • Facades和cityscapes数据集最小,方便测试验证。

(3)数据集的存放路径

  • 存放路径:pytorch-CycleGAN-and-pix2pix\\datasets

备注:必须同名,不能改名

第5步:下载预训练模型

(1)下载方式

  • Linux命令行方式
bash ./scripts/download_pix2pix_model.sh facades_label2photo
  • jupter方式
!bash ./scripts/download_pix2pix_model.sh facades_label2photo
  • Windows方式

根据download_pix2pix_model.sh脚步的内容,获取链接:

http://efrosgans.eecs.berkeley.edu/pix2pix/models-pytorch/

(2)存放路径

./checkpoints/NAME_pretrained/latest_net_G.pth

xxx为模型名称。

备注:

需要把模型的名称,改为latest_net_G.pth,并存放在NAME_pretrained目录中。

第6步:模型测试

(1)运行方式

  • 命令行方式:

test.py --dataroot ./datasets/facades --direction BtoA --model pix2pix --name facades_pix2pix

  • jupter方式:

!python test.py --dataroot ./datasets/facades --direction BtoA --model pix2pix --name facades_pix2pix

(2)主要参数

  • --dataroot ./datasets/facades: 指定数据集的路径
  •  --name facades_pix2pix:与预训练mode的名称
  • --model pix2pix:模型分类。
  • --direction BtoA:训练方向

(3)参数详解

----------------- Options ---------------
aspect_ratio: 1.0                           
batch_size: 1                             
checkpoints_dir: ./checkpoints                 
crop_size: 256                                
dataroot: ./datasets/facades                [default: None]
dataset_mode: aligned                       
direction: BtoA                              [default: AtoB]
display_winsize: 256                           
epoch: latest                        
eval: False                         
gpu_ids: 0                             
init_gain: 0.02                          
init_type: normal                        
input_nc: 3                             
isTrain: False                             [default: None]
load_iter: 0                                 [default: 0]
load_size: 256                           
max_dataset_size: inf                           
model: pix2pix                           [default: test]
n_layers_D: 3                             
name: facades_label2photo_pretrained    [default: experiment_name]
ndf: 64                            
netD: basic                         
netG: unet_256                      
ngf: 64                            
no_dropout: False                         
no_flip: False                         
norm: batch                         
ntest: inf                           
num_test: 50                            
num_threads: 4                             
output_nc: 3                             
phase: test                          
preprocess: resize_and_crop               
results_dir: ./results/                    
serial_batches: False                         
suffix:                               
verbose: False       

(3)输出结果

dataset [AlignedDataset] was created
initialize network with normal
model [Pix2PixModel] was created
loading the model from ./checkpoints\\facades_label2photo_pretrained\\latest_net_G.pth
---------- Networks initialized -------------
[Network G] Total number of parameters : 54.414 M
-----------------------------------------------
creating web directory ./results/facades_label2photo_pretrained\\test_latest
processing (0000)-th image... ['./datasets/facades\\\\test\\\\1.jpg']
processing (0005)-th image... ['./datasets/facades\\\\test\\\\103.jpg']
processing (0010)-th image... ['./datasets/facades\\\\test\\\\12.jpg']
processing (0015)-th image... ['./datasets/facades\\\\test\\\\17.jpg']
processing (0020)-th image... ['./datasets/facades\\\\test\\\\21.jpg']
processing (0025)-th image... ['./datasets/facades\\\\test\\\\26.jpg']
processing (0030)-th image... ['./datasets/facades\\\\test\\\\30.jpg']
processing (0035)-th image... ['./datasets/facades\\\\test\\\\35.jpg']
processing (0040)-th image... ['./datasets/facades\\\\test\\\\4.jpg']
processing (0045)-th image... ['./datasets/facades\\\\test\\\\44.jpg']

图片位置:

\\pytorch-CycleGAN-and-pix2pix\\results\\facades_label2photo_pretrained\\test_latest\\images

第7步 效果展示

(1)输入图片(成对)

(2)输出图片(三张独立的图片)

第1张:真实的输入图片

第3张:生成的输出图片

第2张:真实的参考图片,用于比较


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122061704

以上是关于[Pytorch系列-66]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型测试pix2pix模型的主要内容,如果未能解决你的问题,请参考以下文章

GAN 系列的探索与pytorch实现 (数字对抗样本生成)

[Pytorch系列-61]:生成对抗网络GAN - 基本原理 - 自动生成手写数字案例分析

[Pytorch系列-75]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - CycleGAN网络结构与代码实现详解

[Pytorch系列-63]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 代码总体架构与总体学习思路

[Pytorch系列-73]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - Train.py代码详解

[Pytorch系列-65]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 无监督图像生成CycleGan的基本原理