【深度学习】CycleGAN开源项目学习笔记 | 完整流程 | 报错总结 | pytorch

news2025/1/23 0:49:58

文章目录

  • 前言
  • 一、下载项目,文件结构观察
  • 二、数据集下载
  • 三、训练
    • 3.1、训练初体验
    • 3.2、命令行输入参数
    • 3.3、继续训练命令
  • 四、预测
    • 4.1、使用自己训练完的权重文件进行预测
    • 4.2、使用网上的预训练文件进行预测


前言

你敢想象,就是这么一个简单的开源网站,我居然调了一天才通(毕竟是第一次,一些比如visdom,命令行的参数第一次接触到)
本文所使用的开源项目网址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

一、下载项目,文件结构观察

下载项目完成后,我们看看内部的结构:
在这里插入图片描述
据说后面很多开源项目都是按照这个格式来的(大致格式)

二、数据集下载

在ReadMe里面已经提到了数据集下载方式:
在这里插入图片描述
但是这里的bash命令一直没有运行成功,所以换用其他方法:
我们打开dataset文件夹:
在这里插入图片描述
用记事本打开里面的cyclegan的sh文件,把这行网址复制粘贴(最后一个反斜杠后面的内容删除):
在这里插入图片描述
打开网址,选择你想要的数据集,这里我们的实验选择斑马horse2zebra数据集:
在这里插入图片描述
解压之后,把数据集粘贴到datasets下面:
在这里插入图片描述
斑马数据集内部长这个样子,后面如果要自己制造数据集也是这样搞:
在这里插入图片描述

三、训练

3.1、训练初体验

训练前,看看自己的环境是不是安装好了,尤其是visdom这个可视化库。没用过的话建议先用用看,试一试,防止后面出问题找不出来错误。

在开始训练前,需要打开visdom,在命令行直接输入以下命令:

python -m visdom.server

在这里插入图片描述
点击下面的8097网址进去:
在这里插入图片描述
下面就是比较关键的,输入训练指令,Readme里面也给出了比较清楚的指令(不过我们需要进行修改):

python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

我们来解释一下,这三个需要导入的参数分别是什么:?
1)datasets 这个最简单,就是数据集的路径
2)name 这里指的是保存训练权重的文件夹的名字。在开始训练后,文件夹里会生成一个checkpoints子文件夹,用来保存权重文件:
在这里插入图片描述
而打开后就是我们命名的文件夹:
在这里插入图片描述
里面的权重文件长这样:
在这里插入图片描述
web里面放着训练过程
3) model:这个顾名思义就是训练的模型是啥,这个开源项目的模型如下(在model文件夹里):
在这里插入图片描述
在命令行里输入cycle_gan后 程序会自动加上_model

介绍完之后,我们来更改

python train.py --dataroot ./datasets/horse2zebra --name horse2zebra --model cycle_gan

我们在命令行里面运行,不出意外的话,意外就来了:
在这里插入图片描述
报错内容:module ‘torch._C’ has no attribute ‘_cuda_setDevice’
在网上查找资料说,这是因为环境里pytorch下载的CPU版本导致的。但是我环境里明明是GPU版本呀,这里有可能是因为CMD命令行识别环境错了,所以我们换在anaconda里面运行:

在这里插入图片描述
记得要激活自己的GPU环境,同时切换到文件路径,再输入命令后:

在这里插入图片描述
在这里插入图片描述
这里开始,训练就正式开始了,训练可视化可以在visdom里面看:
在这里插入图片描述

3.2、命令行输入参数

我们在3.1中输入到命令行的参数为:

python train.py --dataroot ./datasets/horse2zebra --name horse2zebra --model cycle_gan

也就三个。其实事实上能输入的不止这些,还有很多其他参数也是可以输入进去的:
在这里插入图片描述
在train_options这个py文件中,存在大量的add_argument,这些参数都是可以输入的,且有文字描述,帮助大家理解它们是用来干啥的。

3.3、继续训练命令

比如我昨天训练了15个epoch,今天我想继续训练,可以在命令行中输入下列指令:

从图片中我们可以看到,继续训练的开关被打开了

在这里插入图片描述
在这里插入图片描述
但是它画图依然是从1epoch开始画的,而不是从我停止训练的15epoch,不知道有没有大神能够指点一下
在这里插入图片描述

四、预测

4.1、使用自己训练完的权重文件进行预测

这里我自己训练了15轮,权重文件保存在checkpoint里:
在这里插入图片描述
我们在anconda命令行里输入:

python test.py --dataroot ./datasets/horse2zebra --name horse2zebra --model cycle_gan

结果会保存在results 文件夹里:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
打开html我们看看效果:
在这里插入图片描述
15轮的效果还是一般 轮数没训练够

4.2、使用网上的预训练文件进行预测

首先我们需要在网上下载预训练权重文件:预训练文件
在这里插入图片描述
下载完毕后,在check_points文件夹里面新建一个文件夹:horse2zebra.pth_pretrained:
在这里插入图片描述
将刚刚下载的预训练权重重新命名为:latest_net_G.pth:
在这里插入图片描述
这时候的准备工作已经完成了,此时打开anconda 激活环境 切换路径,输入下列指令:

python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra.pth_pretrained --model test --no_dropout

此时就开始预测了:
在这里插入图片描述
预测完成后可以在根目录下的results文件夹中找到结果:
在这里插入图片描述
载打开里面的文件夹可以看到
在这里插入图片描述
打开html:
在这里插入图片描述
可以看到效果明显比我自己训练的好(毕竟我才训练了15轮)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南卡电容笔和绿联哪款更好用?性价比高的电容笔推荐

随着生活节奏逐渐加快,从而Apple Pencil的出现引来了不少热度,不过Apple Pencil由于价格昂贵,让不少用户望而止步。然而现在出现了平替电容笔,而且品牌众多,有很多百元左右的平替电容笔,性能和配置都做的不…

适合运动的耳机有哪些?六款相当不错的运动耳机分享

户外运动是现代青年最常见的一种生活方式,无论是在公交地铁上,还是晚上散步的公园里,都能看到很多人在运动,然而他们在做运动的时候都会佩戴上一款运动耳机,音乐能够让我们沉醉于运动中。也越来越多人会问,…

一款可以阻止网络钓鱼诈骗的解决方案?

“你继承了一笔财富。要转账,我需要你的银行账户凭证。” 你是否也遇见过此类的电话诈骗话术。 根据2022年数据泄露调查报告,25%的数据泄露涉及网络钓鱼。 这是怎么发生的?参与网络钓鱼的欺诈者一般都是心理方面的高手。他们知道如何营造紧…

蓄电池电压检测单元 电池监控模块 24路电池电压采样模块电源检测

24路巡检单元的主要功能是对串联蓄电池组的单电池电压进行实时在线巡回检测,并智能分析电池的使用状况,根据用户设置不同的上下限、平均偏差自动判断并输出告警。本电池巡检单元主要应用于发电厂、变电站或其它行业中的直流电源、UPS电源的蓄电池组的电压…

载紫杉醇D-α-生育酚聚乙二醇1000琥珀酸酯/纳米粒包裹紫杉醇的肝素纳米粒

下面整理了载紫杉醇D-α-生育酚聚乙二醇1000琥珀酸酯/纳米粒包裹紫杉醇的肝素纳米粒,一起看! 包裹紫杉醇的肝素纳米粒制备方法: 以肝素为原料制备生物素化包裹紫杉醇的肝素纳米粒,动态光散射仪测定其粒径及电位,透射电镜观察其形态,紫外分光…

cuda 编程:矩阵运算讲解

本文主要介绍用CUDA实现矩阵运算(C A x B)的几个基本方法,帮助大家理解矩阵在GPU上面的运算与CPU上的有何异同,通过实践上手CUDA的优化计算,相比基础方法,能提速10倍以上。 本文内容涉及到CUDA矩阵1D运算,2D运算,共享内存,CUBLAS…

808. 分汤 : 挺有意思的 DP 题

题目描述 这是 LeetCode 上的 808. 分汤 ,难度为 中等。 Tag : 「数学」、「动态规划」、「线性 DP」 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作: 提供 100ml 的 汤A 和 0ml 的 汤B 。提供 75ml 的 汤A 和 25ml 的 汤B…

还在用Python爬壁纸网站?不如来试试搜索引擎的图片库

前言 嗨嗨,又来给你们带来爬美女照片的文章了 今天就不去搞什么壁纸网站了,之前也发了蛮多了 今天搞点不一样的,来试试搜索引擎的图片库 话不多说,直接用Python来开发一下此处资源! 开发环境 & 第三方模块 环…

k3s安装

文章目录1. 文件准备2. 安装3. 查看4. rancher接入官方文档https://docs.rancher.cn/docs/k3s/installation/airgap/_index/1. 文件准备 从: https://github.com/k3s-io/k3s/releases 下载如下两个文件 二进制文件: k3s 文件镜像包:k3s-airgap-images-…

route -n 路由详情

添加网段路由,想要只显示U route add -net 192.168.1.0 netmask 255.255.255.0 dev ens192 [rootht23 k8snode]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192 表示192.168.1.…

修改ZABBIX的logo,最终版方法,简单好用,适用于所有ZABBIX版本,一学即会!!!!!

前言:大家好,我是菜鸟阿贵,好久不见,最近我发现一款很不错的开源网络监控软件,他的优点就不说了,但是遇到一个问题,我们项目上需要用它集成,所以上面的ZABBIX的标志不好看&#xff0…

【记录】前端如何实现iPhone不上架AppStore,从游览器直接安装测试App

背景: 都知道 iPhone 苹果手机应用只能通过 AppStore 进行安装,测试包只能通过官方提供的 TestFlight 等工具安装,而且通常有较长的审核流程,无法及时更新安装包,非常不方便。本文主要介绍前端实现对签名成功的 App直…

maven了解

maven是基于java平台的项目构建,依赖管理和项目信息管理的一个工具。 maven能为我们解决什么问题? ①添加第三方jar包 按照最原始的做法,我们是手动复制jar包到项目WEB-INF/lib下,每个项目都会有一份,造成大量重复文…

红外平行光管ZEMAX光学设计/SOLIDWORKS

平行光管是无穷远目标模拟器,它是一种高精度、综合型光学检测基础设备。由于反射系统受材料限制较小,便于轻量化设计,完全没有色差,系统透过率高;离轴系统不存在中心遮拦且焦点被引到主反射镜之外,光路可折叠&#xff…

Angular 服务端渲染 Angular Universal 实例

标准的 Angular 应用运行在浏览器中,它会在 DOM 中渲染页面,以响应用户的操作。 而Angular Universal 会在服务端运行,生成一些静态的应用页面,稍后再通过客户端进行启动。 这意味着该应用的渲染通常会更快,让用户可以…

一条SQL语句执行的顺序

1. 查询语句 1.1 总体流程 大体来说,MySQL可以分为Server层和存储引擎层两部分。 Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务 功能,以及所有的内置函数(如日期、时间、数学和加密函数等)&#xff0…

一篇文章教你如何用Telerik组件为桌面应用添加上下文菜单

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供最完整的工具箱,用于构建现代和面向未来的业务应用程序。 Telerik DevCraft R3 2022正式版下载 上下…

变化检测(Change Detection,CD) 综述2篇 CD代码 常用CD数据集及链接

变化检测综述 综述1:Change Detection Based on Artificial Intelligence: State-of-the-Art and Challenges 收录于:Remote Sens. 2020 论文地址:Remote Sensing | Free Full-Text | Change Detection Based on Artificial Intelligence:…

客快物流大数据项目(八十七):ClickHouse的使用案例

文章目录 ClickHouse的使用案例 一、电信行业用于存储数据和统计数据使用

ClickHouse教程 — 第二章 ClickHouse快速入门

ClickHouse教程 — 第二章 ClickHouse快速入门1 ClickHouse简介2 ClickHouse特点3 clickhouse缺点4 clickhouse为什么快5 ClickHouse引擎5.1 数据库引擎5.2 数据表引擎5.2.1 表引擎类型5.3 数据类型6 ClickHouse使用语法7 代码操作ClickHouse1 ClickHouse简介 参考1&#xff1…