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

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip