pytorch-CycleGAN-and-pix2pix

环境要求

安装

pip install visdom dominate
  • 以下命令安装所有的依赖
pip install -r requirements.txt
  • 下载库
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
cd pytorch-CycleGAN-and-pix2pix
  • conda可以用以下命令进行安装环境依赖
./scripts/conda_deps.sh

Train

用已有数据集训练

  • 用下载脚本进行下载maps数据集:
bash ./datasets/download_cyclegan_dataset.sh maps
  • Train a model:
#!./scripts/train_cyclegan.sh
python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
  • 查看训练结果以及loss

运行python -m visdom.server并单击URL http:// localhost:8097(端口号可以通过-p来指定)。要查看更多中间结果,请查看./checkpoints/maps_cyclegan/web/index.html

Test

  • 测试模型:
#!./scripts/test_cyclegan.sh
python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

测试结果将保存到html文件中:./results/maps_cyclegan/latest_test/index.html

预训练模型

  • --model test仅用于为一侧生成CycleGAN的结果。python test.py --model cycle_gan将需要在两个方向上加载和生成结果,这有时是不必要的。结果将保存在./results/。使用--results_dir {directory_path_to_save_result}指定的结果目录。

  • 如果您想将预先训练的模型应用于输入图像集合(而不是图像对),请使用--dataset_mode single--model test选项。这是一个将模型应用于Facade标签贴图(存储在目录中facades/testB)的脚本。

    #!./scripts/test_single.sh
    python test.py --dataroot ./datasets/facades/testB/ --name {your_trained_model_name} --model test

训练与测试自己的数据集

训练自己的数据集需要在数据集文件夹下创建两个文件夹trainAtrainB,这两个文件夹包含的图片是来自于A和B两个域。

你可以在你的训练设定设定测试模型--phase traintest.py。您还可以创建子目录testAtestB,如果你有测试数据。

  • 打开visdom服务器
source activate pytorch
pip install visdom dominate
python -m visdom.server
# 如果端口冲突,则用-p进行端口的指定
  • 训练
source activate pytorch
python train.py --dataroot ./datasets/cow2 --name cow2_cyclegan --model cycle_gan

遇到的问题

来自:@luyue

出现的问题:

①导入torch出错

是anaconda的问题,解决办法

cp /usr/lib/x86_64-linux-qnu/libgomp.so.1 /home/learner/anaconda3/lib/libgomp.so.1

cp /usr/lib/x86_64-linux-qnu/libstdc++.so.6 /home/learner/anaconda3/lib/libstdc++.so.6

②可视化界面 python -m visdom.server出错(安装使用visdom)

其实还可以用 python -m visdom.server -p 8097

最开始打不开,是由于google没有连接上网

连接网络后打开空白,然后打开另外一个命令行运行自己的py文件

然后返回浏览器可以看到可视化界面

Reference

Github地址

参考博客

数据集制作参考

CycleGAN 配置及其实现的更多相关文章

  1. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  4. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  5. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  6. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  7. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  8. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  9. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

随机推荐

  1. koan重装system

    author:headsen chen date: 2018-08-02   16:29:51 koan是kickstart-over-a-network的缩写,它是cobbler的客户端帮助程序,k ...

  2. 【BZOJ3262】陌上花开 cdq分治

    [BZOJ3262]陌上花开 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义 ...

  3. Unity3D笔记九 发送广播与消息、利用脚本控制游戏

    一.发送广播与消息 游戏对象之间发送的广播与消息分为三种:第一种向子对象发送,将发送至该对象的同辈对象或者子孙对象中:第二种为给自己发送,发送至自己本身对象:第三种为向父对象发送,发送至该对象的同辈或 ...

  4. OC开发_Storyboard——iPad开发

    iPad开发(Universal Applications) 一.iPad 1.判断是否在iPad上 BOOL iPad = ([[UIDevice currentDevice] userInterf ...

  5. SpringMVC中 解决@ResponseBody注解返回中文乱码

    问题:在前端通过get请求服务端返回String类型的服务时,会出现中文乱码问题 原因:由于spring默认对String类型的返回的编码采用的是 StringHttpMessageConverter ...

  6. move_uploaded_file() 函数

    定义和用法 move_uploaded_file() 函数将上传的文件移动到新位置. 若成功,则返回 true,否则返回 false. 语法 move_uploaded_file(file,newlo ...

  7. 虚拟机中CentoOs配置ip且连网

    1.修改"VMware Network Adapter VMnet8",配置IP 2.打开虚拟机,"编辑" => "虚拟网络编辑器", ...

  8. ES6基础教程(整理自阮一峰)

    ------------------------ECMAScript 6 简介------------------------ECMAScript 和 JavaScript 的关系是,前者是后者的规格 ...

  9. 理解Java异常处理机制的机理

    重看异常机制的时候觉得抓到了点机理上的精髓,所以来说一下,对初学者应该会有些帮助   JAVA中的异常机制 从机制上由[产生异常][抛出异常][捕捉异常][异常处理]组成 从形式上又分为四种: 运行时 ...

  10. 前端 html head meta

    META(Metadata information) 提供有页面的元信息 例如:页面编码.刷新.跳转.针对搜索引擎和更新频道的描述和关键词 1.另外一种编码写法 <meta http-equiv ...