CycleGAN 配置及其实现
pytorch-CycleGAN-and-pix2pix
环境要求
Linux(ubuntu 16.04)
python3.5
Nvidia GPU 1080
Cuda8.0
Cudnn6.0
pytorch搭建比较简单,看这个博客
安装
- Install PyTorch 0.4, torchvision, and other dependencies from http://pytorch.org
- 安装 visdom and dominate.
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
训练与测试自己的数据集
训练自己的数据集需要在数据集文件夹下创建两个文件夹trainA 和trainB,这两个文件夹包含的图片是来自于A和B两个域。
你可以在你的训练设定设定测试模型--phase train在test.py。您还可以创建子目录testA和testB,如果你有测试数据。
- 打开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
CycleGAN 配置及其实现的更多相关文章
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- react-router 组件式配置与对象式配置小区别
1. react-router 对象式配置 和 组件式配置 组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
随机推荐
- Fatal error Using $this when not in object context in
大致意思是 $this 没有上下文,原因是没有对此类进行实例化. 出现此错误的原因是:在FileCommand.php中使用 $this->方法/属性. $this 不是不可以用,而是要看情况用 ...
- hihocoder [Offer收割]编程练习赛14 小Hi和小Ho的礼物
题目1 : 小Hi和小Ho的礼物 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 某人有N袋金币,其中第i袋内金币的数量是Ai.现在他决定选出2袋金币送给小Hi,再选2袋 ...
- Android官方架构组件介绍之LiveData
LiveData LiveData是一个用于持有数据并支持数据可被监听(观察).和传统的观察者模式中的被观察者不一样,LiveData是一个生命周期感知组件,因此观察者可以指定某一个LifeCycle ...
- 自定义Realm解析
自定义Realm解析---------------------------------------> /* * Copyright 2005-2013 shopxx.net. All right ...
- 洛谷P1858 多人背包 多人背包板子题/多人背包学习笔记
,,,本来自以为,我dp学得还挺好的 然后今天一考发现都不会啊QAQ 连最基础的知识点都不清楚啊QAQ 所以就来写个题解嘛! 先放下板子题 其实我jio得,这题只要大概了解方法就不是很难鸭,,,毕竟是 ...
- socket套接字TCP协议传输-案例测试
术语: 套接字接口:socket,是一个IP地址和一个端口号的组合,套接字可以唯一标识整个Internet中的一个网络进程. TCP连接:一对套接字接口(一个用于接收,一个用于发送)可定义面向连接的协 ...
- go-004-数据结构
在 Go 编程语言中,数据类型用于声明函数和变量. 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存. Go 语言按类别有以下几种 ...
- 5.3 Components — Passing Properties to A Component
1. 默认情况下,一个组件在它使用的模板范围中没有访问属性. 例如,假想你有一个blog-post组件被用来展示一个blog post: app/templates/components/blog-p ...
- Hadoop mapreduce自定义分组RawComparator
本文发表于本人博客. 今天接着上次[Hadoop mapreduce自定义排序WritableComparable]文章写,按照顺序那么这次应该是讲解自定义分组如何实现,关于操作顺序在这里不多说了,需 ...
- Hadoop mapreduce自定义排序WritableComparable
本文发表于本人博客. 今天继续写练习题,上次对分区稍微理解了一下,那根据那个步骤分区.排序.分组.规约来的话,今天应该是要写个排序有关的例子了,那好现在就开始! 说到排序我们可以查看下hadoop源码 ...