mmediting工具包中cycleGAN的使用以及训练自己的数据

mmediting使用之cycleGAN

  • mmediting简介
  • mmediting安装后的文件夹
  • cycleGAN测试
  • 利用cycleGAN训练自己的数据

mmediting简介

MMEditing是OpenMMLab 项目中开源的工具包。这是一个图像和视频编辑的工具箱,它目前包含了常见的编辑任务,比如图像修复,图像抠图,超分辨率和生成模型。在编辑图像或者视频的时候,我们往往是需要组合使用以上任务的,因此作者把它们整理到一个统一的框架下,方便大家使用。

GITHUB主页:mmediting主页

mmediting环境要求:

Linux (Windows is not officially supported)
Python 3.6+
PyTorch 1.3 or higher
CUDA 9.0 or higher
NCCL 2
GCC 4.9 or higher
mmcv

更加具体的过程参见mmediting安装步骤:官方安装步骤

以及官方网站:mmediting官网

mmediting安装后的文件夹

安装完成后,打开安装路径,大致有以下文件夹:
mmediting工具包中cycleGAN的使用以及训练自己的数据_第1张图片
其中的data是我创建的,用来存放数据的。

cycleGAN测试

首先我们可以进行测试,来验证我们是否安装成功,官方也放了demo,以cycleGAN为例:
对于pix2pix可以使用:

python demo/generation_demo.py configs/example_config.py work_dirs/example_exp/example_model_20200202.pth demo/demo.jpg demo/demo_out.jpg

对于cycleGAN使用:

python demo/generation_demo.py configs/example_config.py work_dirs/example_exp/example_model_20200202.pth demo/demo.jpg demo/demo_out.jpg --unpaired_path demo/demo_unpaired.jpg --imshow

其中的generation_demo.py调用了gan的生成网络,传入图片,生成另一种风格的图片。
example_config.py储存着GAN网络的参数,初始化网络。example_model_20200202.pth是gan得到的训练文件,注意需要传入两张图片。
以summer2winter举例,一张夏天的,一张冬天的。
demo.jpg是夏天的路径,demo_out.jpg是输出路径,demo_unpaired.jpg是冬天的照片。

官方给出的模型文件为:下载链接
下载后放在work_dirs/example_exp路径下。
下载一张夏天的照片 并下载一张冬天的照片当作demo。
而我在终端中执行的代码为:

python demo/generation_demo.py configs/synthesizers/cyclegan/cyclegan_lsgan_resnet_in_1x1_246200_summer2winter.py work_dirs/cyclegan_lsgan_resnet_in_1x1_summer2winter/cyclegan_lsgan_resnet_in_1x1_246200_summer2winter_20200524-0baeaff6.pth demo/gt.jpg demo/summer2winter2.jpg --unpaired_path demo/snow1.jpg --imshow

效果展示:
mmediting工具包中cycleGAN的使用以及训练自己的数据_第2张图片
从结果来看效果挺好的。

利用cycleGAN训练自己的数据

从官方的数据准备可知:

mmediting
├── mmedit
├── tools
├── configs
├── data
│ ├── paired
│ │ ├── facades
│ │ ├── maps
| | ├── edges2shoes
| | | ├── train
| | | ├── test
│ ├── unpaired
│ │ ├── facades
| | ├── horse2zebra
| | ├── summer2winter_yosemite
| | | ├── trainA
| | | ├── trainB
| | | ├── testA
| | | ├── testB

文件夹要满足这样的关系。
cyclegan分为trainA trainB testA testB四个文件夹,再把相应的数据放到文件夹中。
根据官方文档的介绍,训练模型的指令为:

./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]

CONFIG_FILE为config文件,决定了模型以及相应的文件夹。
dist_train.sh为所有模型训练的启动文件,或许说的不够准确。

这里给出我的训练命令:

./tools/dist_train.sh ./configs/synthesizers/cyclegan/cyclegan_lsgan_resnet_in_1x1_246200_summer2winter.py 1

正常启动会输出以下信息:

> 2020-11-07 16:53:08,416 - mmedit - INFO - Environment info:
------------------------------------------------------------
sys.platform: linux
Python: 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0]
CUDA available: True
GPU 0: GeForce GTX 1050
CUDA_HOME: /usr/local/cuda-10.1
NVCC: Cuda compilation tools, release 10.1, V10.1.243
GCC: gcc (Ubuntu 7.5.0-6ubuntu2) 7.5.0
PyTorch: 1.5.0+cu101
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2019.0.5 Product Build 20190808 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v0.21.1 (Git Hash 7d2fd500bc78936d1d648ca713b901012f470dbc)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.1
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
  - CuDNN 7.6.3
  - Magma 2.5.2

在启动的时候,我遇到了一些问题:
python 未找到命令

解决办法参考:

python 未找到命令解决办法

你可能感兴趣的:(python,图像处理,gan,cyclegan,mmediting)