当前位置: 首页 > news >正文

【代码实践】HAT代码Window平台下运行实践记录

HAT是CVPR2023上的自然图像超分辨率重建论文《activating More Pixels in Image Super-Resolution Transformer》所提出的模型。本文旨在记录在Window系统下运行该官方代码(https://github.com/XPixelGroup/HAT)的过程,中间会遇到一些问题,供大家参考。

环境安装

参考官方代码,进行环境安装

pip install -r requirements.txt
python setup.py develop

代码运行

这里我在遥感图像的数据集UCMerced上进行重新训练,需要首先在./options/train文件夹中设置对应的yaml文件,然后执行训练过程:

python hat/train.py -opt options/train/train_HAT_SRx4_UCMerced_from_scratch.yml

开始训练了
在这里插入图片描述

遇到的问题

问题1: UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xae

由于相关开源代码都是在linux下编写和调试的,放在window系统中会出现不少问题,如下读取yaml文件时遇到的问题:
在这里插入图片描述
使用notepad++ “编码”查看对应文件的编码格式。修改报错位置代码,使用‘utf-8’编码格式:

with open(filename, 'r+', encoding='utf-8') as f:

《关于UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte的解决办法》
《真正解决Windows下UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xff in position 0错误的方法》

问题2: TypeError: expected str, bytes or os.PathLike object, not NoneType

因为自己在训练配置文件yml中,没有设置meta_info的信息,所以报下面的问题:
在这里插入图片描述
参考hat/data/meta_info/meta_info_DF2Ksub_GT.txt:
在这里插入图片描述
解决方式有两种:一种是将yml中meta_info给注释掉,或者使用在github/basicsr库中使用generate_meta_info.py文件,生成meta_info文件。我这里直接选择注释掉了。

问题3: RuntimeError: CUDA error: out of memory

直接运行会报错,out of memory了
在这里插入图片描述
将batch_size_per_gpu设置成2,倒是可以跑起来:
在这里插入图片描述
这里可以看出HAT很吃内存啊!

http://www.lryc.cn/news/184603.html

相关文章:

  • 机器学习-Pytorch基础
  • 金九银十,刷完这个笔记,17K不能再少了....
  • 精确到区县级街道乡镇行政边界geojson格式矢量数据的获取拼接实现Echarts数据可视化大屏地理坐标信息地图的解决方案
  • 【Python 千题 —— 基础篇】多行输出
  • AdaBoost(上):数据分析 | 数据挖掘 | 十大算法之一
  • Py之pygraphviz:pygraphviz的简介、安装、使用方法之详细攻略
  • acwing算法基础之基础算法--前缀和算法
  • 华为云云耀云服务器L实例评测|Ubuntu 22.04部署edusoho-ct企培版教程 | 支持华为云视频点播对接CDN加速
  • 土木硕设计院在职转码上岸
  • js查询月份开始和结束日期
  • mybatis开发部分核心代码
  • Springboot中查看gradle工程使用了哪些仓库
  • c#中的接口
  • 老卫带你学---leetcode刷题(76. 最小覆盖子串)
  • Maven-DskipTests和-Dmaven.test.skip=true的区别
  • conda中cuda、cuda-toolkit、cuda-nvcc、cuda-runtime的区别
  • 增强现实抬头显示AR-HUD
  • 力扣-367.有效的完全平方数
  • 小白必看!上位机控制单片机原理
  • 通过套接字手动写一个回显服务器吧
  • python读取CSV格式文件,遇到的问题20231007
  • 【面试题精讲】为什么重写equals时必须重写hashCode方法?
  • 一文搞懂pytorch hook机制
  • 文本挖掘入门
  • 【C++ techniques】Smart Pointers智能指针
  • LabVIEW利用以太网开发智能液位检测仪
  • 文字转语音:语音合成(Speech Synthesis) 数组文字循环播放
  • Spark基础
  • localhost和127.0.0.1都可以访问项目,但是本地的外网IP不能访问
  • 快速掌握批量合并视频