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

相关文章

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

MySQL8.0找不到my.ini如何解决

《MySQL8.0找不到my.ini如何解决》在配置MySQL主从复制时,发现找不到my.ini配置文件,通过检查路径和打开隐藏文件夹,最终在C:ProgramDataMySQLMySQLSer... 目录问题描述解决方法总结问题描述今天在配置mysql主从复制的时候发现,找不到my.ini这个配置文件。

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Mybatis提示Tag name expected的问题及解决

《Mybatis提示Tagnameexpected的问题及解决》MyBatis是一个开源的Java持久层框架,用于将Java对象与数据库表进行映射,它提供了一种简单、灵活的方式来访问数据库,同时也... 目录概念说明MyBATis特点发现问题解决问题第一种方式第二种方式问题总结概念说明MyBatis(原名