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

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Pytorch系列-63]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 代码总体架构与总体学习思路相关的知识,希望对你有一定的参考价值。

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

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


目录

第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 启动程序的三种方法

3.4 代码总体架构

第4章 数据集

4.1 数据集的分类

4.2 数据集的组织方式

4.3 数据集的下载

4.4 训练生成图片的输出结果存放

第5章 神经网络模型

5.1 模型相关的功能

5.2 支持的模型的类型

第6章 学习的总体思路

6.1 学习过程

6.2 模型选择

6.3 调试工具的使用


第1章 理论概述

1.1 普通GAN, pix2pix, CycleGAN和pix2pixHD的演变过程

[人工智能-深度学习-63]:生成对抗网络GAN - 图片创作:普通GAN, pix2pix, CycleGAN和pix2pixHD的演变过程_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122015783目录第1章 传统计算机视觉基本原理(图像的建模)1.1 传统的计算机视觉1.2 不足第2章 基于深度学习DNN的计算机视觉的基本原理(图像的判定)2.1 基于深度学习的计算机视觉DNN2.2 DNN的不足第3章 常规生成对抗网络GAN的基本原理(不受控.https://blog.csdn.net/HiWangWenBing/article/details/122015783

第2章 CycleGAN-and-pix2pix代码下载

2.1 github代码链接

GitHub - junyanz/pytorch-CycleGAN-and-pix2pix: Image-to-Image Translation in PyTorch

2.2 github使用说明

后续大规模代码,基本上是利用开源代码进行学习。因此,需要学习github的使用规则。

2.3 代码下载

下载代码不需要预先注册和登录。

第3章 CycleGAN-and-pix2pix代码代码结构

3.1 目录结构

3.2 图片转换的两大功能

CycleGAN-and-pix2pix项目包含了两部分功能代码

(1)pix2pix:通过像素到像素的转换来实现的图片转换(有监督图片学习)

(2)CycleGAN:通过CycleGAN神经网络来实现的图片转换(无监督机器学习)

3.3 启动程序的三种方法

(1)图形化:jupter

  • CycleGAN.ipynb
  • pix2pix.ipynb

备注:

jupter下的代码默认执行Linux的脚步,而不是windows命令。

(2)图形化:pycharm

  • train.py
  • test.py

通过参数指示是执行pix2pix网络还是CycleGAN网络。

(3)命令行

  • train.py
  • test.py

通过参数指示是执行pix2pix网络还是CycleGAN网络

3.4 代码总体架构

第4章 数据集

4.1 数据集的分类

两种类型的数据,组织的方式是不相同的。

  • pix2pix
  • CycleGAN

4.2 数据集的组织方式

(1)pix2pix -  有监督数据集,有标签数据, 成对数据集

有监督数据集或成对数据集:是指一张图片是有两张图片合并而成,左边的是目标图片或标签图片,右边的是源图片。

  • train:训练数据集集
  • test:测试数据
  • val:验证数据集

(2)CycleGAN - 无监督数据集,无标签数据集

普通的,没有任何标签的原始图片。

目标图片和源图片是通过不同的目录分开的。

  • trainA:源训练数据集
  • trainB:目标训练数据集
  • testA: 源测试数据集
  • testB:目标测试数据

4.3 数据集的下载

(1)在linux下

可以通过程序脚步自动下载。

(2)在windows下

需要通过手工下载:打开下载数据集的脚本文件,获取数据集的URL链接,手工下载。

如:

  • ./datasets/download_pix2pix_dataset.sh
  • ./datasets/download_cyclegan_dataset.sh

4.4 训练生成图片的输出结果存放

\\Pytorch\\pytorch-CycleGAN-and-pix2pix\\results\\horse2zebra.pth_pretrained\\test_latest\\images

第5章 神经网络模型

5.1 模型相关的功能

(1)模型自身的源代码

.\\models\\*

(2)预训练模型的存放

  • 预训练模型:.\\checkpoints\\xxx_pretrained\\
  • 训练过程中生成的模型:.\\checkpoints\\xxx\\

xxx:表示模型的名称。

(3)预训练模型的下载代码

  • .\\scripts\\download_cyclegan_model.sh
  • .\\scripts\\download_pix2pix_model.sh

在windows下,需要手工打开该文件,获取模型的URL链接,然后手工下载,并存放到.\\checkpoints\\xxx_pretrained\\ 目录中,xxx表示模型名称。

5.2 支持的模型的类型

(1)pix2pix

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

(2)CycleGAN

http://efrosgans.eecs.berkeley.edu/cyclegan/pretrained_models/

(3)test

该模型时简化版的CycleGAN模型,已经用于CycleGAN的测试,不能进行训练。

第6章 学习的总体思路

6.1 学习过程

(1)模型使用

使用预训练模型进行测试或验证,感受模型的外部行为以及最终的效果。

(2)继续学习

pytorch-CycleGAN-and-pix2pix的原理以及相关的源代码实现

(3)模型再训练

根据自身应用的需求,重新训练模型。

6.2 模型选择

(1)先学习pix2pix模型

(2)在学习CycleGAN模型

6.3 调试工具的使用

  • 命令行:适合测试模型
  • jupter:适合测试模型
  • pycharm:学习代码以及模型训练

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

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

以上是关于[Pytorch系列-63]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 代码总体架构与总体学习思路的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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