当前位置:   article > 正文

pytorch-CycleGAN-and-pix2pix目录结构_pytorch-cyclegan-and-pix2pix csdn

pytorch-cyclegan-and-pix2pix csdn

目录结构

1. data 数据加载和预处理

init.py

train,test脚本之间的接口
添加自定义数据集的说明
通过命令行给定的选项opt来创建数据集

base_dataset.py

基类BaseDataset,以及常见的数据转换函数

image_folder.py

修改了官方的PyTorch加载图像文件夹的源码,该类可以从当前目录及其子目录加载图像。

template_dataset.py

此模块为用户提供了一个实现自定义数据集的模板。
您可以指定“–dataset_model template”来使用此数据集。
类名应与文件名及其dataset_mode选项一致。

aligned_dataset.py

包含一个可以加载图像对的数据集类。
一个单一图像目录 /path/to/data/train,这个目录包括 {A,B} 形式的图像对。
在测试时,需要准备目录 /path/to/data/test作为测试数据。

unaligned_dataset.py

包含一个可以加载未对齐/未配对数据集的数据集类。
它假设两个目录分别承载来自域A /path/to/data/trainA 和域B /path/to/data/trainB 的训练图像。
可以用数据集标志 --dataroot /path/to/data 训练模型。
同样,需要在测试期间准备两个目录 /path/to/data/testA 和 /path/to/data/testB。

single_dataset.py

通过指定路径 --dataroot /path/to/data 来加载一组单个图像。
它可以用可选的测试模型来生成单边 CycleGAN 的结果。

colorization_dataset.py

加载一组RGB的自然图像,并且在Lab color space 中将 RGB 格式转换为 (L, ab) 对。
它是基于pix2pix的着色模型所要求的 (–model colorization)。

2. models 目标函数,优化器,网络架构

init.py

train,test脚本之间的接口
添加自定义模型类的说明。
自定义model类dummy:

  • 添加一个文件dummy_model.py
  • 定义子类DummyModel继承BaseModel
  • 实现四个方法:
    • init(初始化类)
    • set_input(解压数据,并应用处理)
    • forward(前项算法,生成网络结果)
    • optimize_parameters(计算loss,gradient,更新权重)
    • modify_commandline_options(可选,修改模型指定设置或者设置为默认)

使用–model dummy指定某种模型

base_model.py

基类BaseModel
包括一些其他常用的函数,在子类中会被使用。

template_model.py

此模块为用户提供了一个实现自定义模型的模板。
如果想要实现自己的模型,可以查阅此文件。

pix2pix_model.py

实现了 Pix2Pix 模型,用于学习成对图像的从输入到输出的映射。
模型训练需要 --dataset_mode aligned 数据集。
默认情况下,使用 --netG unet256 网络,–netD basic 判别器(PatchGAN)和 --gan_model vanillagan 损失(标准交叉熵目标)

colorization_model.py

实现了 Pix2PixModel 的子类,用于图像着色(黑白图像到彩色图像)。
模型训练需要 -dataset_model colorization 数据集。
它训练一个 Pix2Pix 模型,在 Lab color space 中从 L 通道映射到 ab 通道。
默认情况下,colorization 数据集将自动设置 --input_nc 1 和 --output_nc 2。

cycle_gan_model.py

实现了cycle gan 模型,用于学习未成对图像到图像转换。
模型训练需要 --dataset_mode unaligned 数据集。
默认情况下,它使用 --netG resnet_9blocks 生成器, --netD basic 判别器和最小二乘 Gans 目标( --gan_model lsgan)。

networks.py

模块实现网络架构(生成器和鉴别器),以及规范化层、初始化方法、优化调度程序(即学习率策略)和 GAN 目标函数(vanilla、lsgan、wgangp)。

test_model.py

用来生成cyclegan的结果,该模型自动设置 --dataset_mode single。

3. options 选项模块

训练选项、测试选项和基本选项(用于训练和测试)
TrainOptions和TestOptions都是 BaseOptions的子类。
详细说明options选项内容的文件。

init.py

定义options为自定义库

base_options.py

包括训练和测试中使用的选项。
它还实现一些辅助功能,例如解析、打印和保存选项。
它还收集在数据集类和模型类中的 modify_commandline_options 函数中定义的其他选项。

train_options.py

仅包括在训练期间使用的选项

test_options.py

仅包括在测试期间使用的选项

4. util 功能辅助函数

init.py

定义util为自定义库

get_data.py

提供了一个 Python 脚本用于下载 CycleGAN 和 pix2pix数据集

html.py

用于将图像保存到一个单独的 HTML 文件中。
它包括一些函数比如:add_header(在HTML文件中添加文本头),add_images (向HTML文件添加一行图像),save (将HTML保存到磁盘)。
它基于 Python 的dominate库 ,这是一个用 DOM API 创建和操作 HTML 文档的python 库。

image_pool.py

存储以前生成图像的图像缓冲区。
这个缓冲区使我们能够使用之前生成的图像来更新鉴别器,而不是使用最新的生成器生成的图像。论文对这一最初的想法进行了讨论。缓冲区的大小由 --pool_size控制。

visualizer.py

可以显示/保存图像和打印/保存日志信息。
它使用 Python 库 visdom 进行显示,使用 Python 库 dominate(包装在 HTML 中)创建带有图像的 HTML 文件。

util.py

包含辅助函数,如 tensor2im(将张量数组转换为 numpy 图像数组)、diagnose_network(计算并打印梯度平均绝对值的平均值)、mkdirs(创建多个目录)。

train.py

通用训练脚本。
可选模型:pix2pix, cyclegan, colorization
可选数据集模式:aligned, unaligned, single, colorization

test.py

通用测试脚本。
如果用train.py训练好了自己的模型,可以用测试脚本对模型进行测试。
脚本会从 checkpoints_dir 中加载保存好的模型,并将结果保存在 results_dir 处。

参考链接

CycleGAN的代码组成
从零开始的CycleGAN学习笔记 代码分析
pix2pix代码梳理
CycelGAN overview预览

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/908026
推荐阅读
相关标签
  

闽ICP备14008679号