风格迁移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

相关文章

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解

Java报NoClassDefFoundError异常的原因及解决

《Java报NoClassDefFoundError异常的原因及解决》在Java开发过程中,java.lang.NoClassDefFoundError是一个令人头疼的运行时错误,本文将深入探讨这一问... 目录一、问题分析二、报错原因三、解决思路四、常见场景及原因五、深入解决思路六、预http://www

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi