风格迁移2-02:MUNIT(多模态无监督)-源码训练测试-报错解决

2023-10-28 01:30

本文主要是介绍风格迁移2-02:MUNIT(多模态无监督)-源码训练测试-报错解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下链接是个人关于 MUNIT(多模态无监督)-图片风格转换,的所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信 17575010159 相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 文末附带 \color{blue}{文末附带} 文末附带 公众号 − \color{blue}{公众号 -} 公众号 海量资源。 \color{blue}{ 海量资源}。 海量资源

风格迁移2-00:MUNIT(多模态无监督)-目录-史上最新无死角讲解

注意,本人编写该博客的时间为 2020 / 04 / 3 ,也就是说,你现在下载的作者代码或许 \color{red}{注意,本人编写该博客的时间为2020/04/3,也就是说,你现在下载的作者代码或许} 注意,本人编写该博客的时间为2020/04/3,也就是说,你现在下载的作者代码或许
和本人的代码不一样(如果作者有更新过)还有就是,本人调试该代码为 W i n d s 系统 \color{red}{和本人的代码不一样(如果作者有更新过)还有就是,本人调试该代码为Winds系统} 和本人的代码不一样(如果作者有更新过)还有就是,本人调试该代码为Winds系统
即下面的报错都是 W i n d s 下使用 p y c h a r m 报错的过程,以及解决办法 \color{red}{即下面的报错都是Winds下使用pycharm报错的过程,以及解决办法} 即下面的报错都是Winds下使用pycharm报错的过程,以及解决办法

环境安装

这是pytorch官网安装指南:https://pytorch.org/get-started/previous-versions/
本人的cuda版本为cuda10.0,pytorch为v1.0.0(上链接可以找到),主要使用anconda3执行了如下指令:

 conda create -n pytorch-MUNIT  -y python=3.6conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch# 下载安装包(从前面的官网链接找到合适版本),从其中找到合适的版本https://download.pytorch.org/whl/cu100/torch_stable.html# 下载完成之后执行如下指令python -m pip install --upgrade pippip install torch-1.0.0-cp36-cp36m-win_amd64.whl

安装完成之后,请配置好pycharm,下面我们就开始调试代码了,起码要让测试以及训练程序跑起来。再这之前,通过上一篇博客,大家应该下载好了预训练模型,放置如下:
在这里插入图片描述

代码测试

首先,我们还是先阅读项目中的README.md,进入其中的Please check out the user manual page:
https://github.com/NVlabs/MUNIT/blob/master/USAGE.md
可以看到如下:
在这里插入图片描述
直接粘贴复制再终端运行:

python test.py --config configs/edges2shoes_folder.yaml --input inputs/edge.jpg --output_folder outputs --checkpoint models/edges2shoes.pt --a2b 1

报错一
File “E:\2.ChiPeak\3.FaceDataGenerate\1.MUNIT\1.MUNIT-master\utils.py”, line 6, in
import torchfile
ModuleNotFoundError: No module named ‘torchfile’

pip install torchfile
pip install numpy
pip install torchvision==0.2.1
pip install pyyaml

报错二
File “D:\Users\94428\anaconda3\envs\pytorch-MUNIT\lib\site-packages\PIL\Image.py”, line 2843, in open
fp = builtins.open(filename, “rb”)
FileNotFoundError: [Errno 2] No such file or directory: ‘inputs/edge.jpg’

inputs目录存在文件如下:
在这里插入图片描述

# 修改一下图片名即可,执行如下
python test.py --config configs/edges2shoes_folder.yaml --input inputs/edges2shoes_edge.jpg --output_folder outputs --checkpoint models/edges2shoes.pt --a2b 1

然后在输出目录可以看到如下照片:
在这里插入图片描述
这样我们就完成了初步的测试,可以在执行如下指令

python test.py --config configs/edges2shoes_folder.yaml --input inputs/edges2shoes_edge.jpg  --output_folder outputs --checkpoint models/edges2shoes.pt --a2b 1 --style inputs/edges2handbags_handbag.jpg

可以看到其生成了绿色的鞋子图片如下:
在这里插入图片描述

数据训练

我们可以看到如下部分:
在这里插入图片描述
先不管那么多,我们执行:

python train.py --config configs/edges2shoes_folder.yaml

报错一
Traceback (most recent call last):
File “train.py”, line 17, in
import tensorboardX
ModuleNotFoundError: No module named ‘tensorboardX’

pip install tensorboardX

报错二

File “E:\2.ChiPeak\3.FaceDataGenerate\1.MUNIT\1.MUNIT-master\data.py”, line 91, in make_dataset
assert os.path.isdir(dir), ‘%s is not a valid directory’ % dir
AssertionError: ./datasets/edges2shoes/trainA is not a valid directory

本人数据目录放置如下:
在这里插入图片描述
所以修改 edges2shoes_folder.yaml 的代码如下

#data_root: ./datasets/edges2shoes/     # dataset folder location
data_root: ../2.Dataset/edges2shoes        # dataset folder location

报错三

File “E:\2.ChiPeak\3.FaceDataGenerate\1.MUNIT\1.MUNIT-master\data.py”, line 91, in make_dataset
assert os.path.isdir(dir), ‘%s is not a valid directory’ % dir
AssertionError: …/2.Dataset/edges2shoes\trainA is not a valid directory
该错误表示,我们数据的格式,是不符合规范的。

本人参考 scripts/demo_train_edges2shoes.sh 脚本对数据做了处理,本人比较尴尬,因为都 wind 和 linux 的脚本书写都比较陌生,所以把数据拷贝到 linux 下,把 edges2shoes.tar.gz 解压之后,得到 edges2shoes 目录如下:
在这里插入图片描述
在该目录(edges2shoes)下,执行了如下指令:

for f in train/*; do convert -quality 100 -crop 50%x100% +repage $f train%d/${f##*/}; done;for f in val/*; do convert -quality 100 -crop 50%x100% +repage $f test%d/${f##*/}; done;mv train0 trainAmv train1 trainBmv test0 testAmv test1 testB

执行完之后,目录显示如下:
在这里插入图片描述
本人用的办法真的蠢,哈哈。然后又压缩,放置到 winds 下的原目录中。

报错四
in the main module:
if name == ‘main’:
freeze_support()

该错误主要是没有在 linux 环境下导致的结果,在 train.py 添加 if name == ‘main’: 如下:

import tensorboardX
import shutil
if __name__ == '__main__':parser = argparse.ArgumentParser()......

其后的代码都右移一个 tab 键。

调试成功之后,本人打印如下:

Elapsed time in update: 7.770969
Elapsed time in update: 0.784000
Elapsed time in update: 0.757999
Elapsed time in update: 0.749000
Elapsed time in update: 0.754998
Elapsed time in update: 0.757999
Elapsed time in update: 0.756999
Elapsed time in update: 0.761999
Elapsed time in update: 0.755001
Elapsed time in update: 0.753999
Iteration: 00000010/01000000
Elapsed time in update: 0.766001
Elapsed time in update: 0.758998
Elapsed time in update: 0.758000
Elapsed time in update: 0.641000
Traceback (most recent call last):

结语

到这里为止,代码已经跑起来了,下面会为大家进行论文翻译,以及源码的阅读。

在这里插入图片描述

这篇关于风格迁移2-02:MUNIT(多模态无监督)-源码训练测试-报错解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/289776

相关文章

Conda虚拟环境的复制和迁移的四种方法实现

《Conda虚拟环境的复制和迁移的四种方法实现》本文主要介绍了Conda虚拟环境的复制和迁移的四种方法实现,包括requirements.txt,environment.yml,conda-pack,... 目录在本机复制Conda虚拟环境相同操作系统之间复制环境方法一:requirements.txt方法

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

解决JSONField、JsonProperty不生效的问题

《解决JSONField、JsonProperty不生效的问题》:本文主要介绍解决JSONField、JsonProperty不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录jsONField、JsonProperty不生效javascript问题排查总结JSONField

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt