调试代码Pair-wise-Similarity-module-master

第一步:运行.py文件生成json文件

问题一:json.decoder.JSONDecodeError: Invalid \escape: line 1 column 31616 (char 31615)

解决:

for dataset in dataset_list:with open(datasetmap[dataset] + ".csv", "r") as lines:for i, line in enumerate(lines):if i == 0:continueprint(f"Processing line {i}: {line.strip()}")fid, _, label = re.split(',|\.', line.strip())label = label.replace('\n', '')if label not in filelists[dataset]:folderlist.append(label)filelists[dataset][label] = []print(f"Checking directory: {os.path.join(data_path, label)}")# 检查路径是否存在if not exists(os.path.join(data_path, label)):print(f"Directory does not exist: {join(data_path, label)}")continuefnames = listdir(os.path.join(data_path, label))print(f"Found fnames: {fnames}")fname_number = [int(re.split('_|\.', fname)[1]) for fname in fnames if re.split('_|\.', fname)[1].isdigit()]sorted_fnames = [fname for fname, _ in sorted(zip(fnames, fname_number), key=lambda f_tuple: f_tuple[1])]print(f"Sorted fnames: {sorted_fnames}")if fid[-5:].isdigit():fid = int(fid[-5:]) - 1else:print(f"Invalid fid: {fid}")continueprint("Adjusted fid:", fid)if fid < 0 or fid >= len(sorted_fnames):print(f"Index {fid} is out of range for sorted_fnames")continuefname = join(data_path, label, sorted_fnames[fid])print(f"Appending filename: {fname}")filelists[dataset][label].append(fname)for key, filelist in filelists[dataset].items():cl += 1random.shuffle(filelist)filelists_flat[dataset] += filelistlabellists_flat[dataset] += np.repeat(cl, len(filelist)).tolist()

问题二:OSError: [Errno 22] Invalid argument: 'E:\\桌面文件\\Pair-wise-Similarity-module-master\\filelists\\miniImagenet\\train\n07584110\n07584110_9665.JPEG'

解决:\n是转义字符,会导致路径识别错误,我要把json文件中所有的 \ 变成 \\ 。

# 假设json文件路径为
json_file_path = 'E:/code/Pair-wise-Similarity-module-master/filelists\miniImagenet/val.json'# 读取JSON文件
with open(json_file_path, 'r', encoding='GB2312') as f:data = json.load(f)# 将所有的单斜杠`\`替换成双反斜杠`\\`
modified_data = json.dumps(data).replace('\\', '\\\\')# 写回到JSON文件中
with open(json_file_path, 'w', encoding='utf-8') as f:f.write(modified_data)print(f"JSON文件 {json_file_path} 中的内容已经修改完成,所有的单斜杠'\\'都被替换成了双反斜杠'\\\\'。")

问题三:SyntaxError: Non-UTF-8 code starting with '\xbc' in file E:\桌面文件\Pair-wise-Similarity-module-master\filelists\miniImagenet\json.py on line 6, but no encoding declared

解决:文件是其他编码类型,需要先测试出文件编码类型,然后修改

encoding='GB2312'
import chardet# 检测文件是什么类型的编码
with open('E:/code/Pair-wise-Similarity-module-master/filelists\miniImagenet/val.json', 'rb') as f:result = chardet.detect(f.read())  # 读取一定量的数据进行编码检测print(result['encoding'])  # 打印检测到的编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是Arkose Labs挑战及其解决方法

Arkose Labs挑战是一种复杂的机制&#xff0c;旨在验证用户是真正的人类&#xff0c;而不是自动化的机器人或脚本。这一挑战在维护在线服务的安全性和完整性方面发挥着关键作用&#xff0c;通过防止欺诈活动并确保只有真实用户才能访问某些功能。 目录 什么是Arkose Labs挑战&a…

Python 基础 (标准库):堆 heap

1. 官方文档 heapq --- 堆队列算法 — Python 3.12.4 文档 2. 相关概念 堆 heap 是一种具体的数据结构&#xff08;concrete data structures&#xff09;&#xff1b;优先级队列 priority queue 是一种抽象的数据结构&#xff08;abstract data structures&#xff09;&…

分布式锁(3):jedis基于Redis set命令的分布式锁

1 实现思路 获取锁的时候,使用 setnx 加锁,并使用 expire 命令为锁添加一个超时时间,超过该时间则自动释放锁,锁的 value 值需要指定,可以根据具有业务含义,本文简化为 UUID,在释放锁的时候进行判断,避免误释放。获取锁的时候还设置一个获取的超时时间,若超过这个时间…

A34 STM32_HAL库函数 之 PCCARD通用驱动 所有函数的介绍及使用

A34 STM32_HAL库函数 之 PCCARD通用驱动 所有函数的介绍及使用 1 该驱动函数预览1.1 HAL_PCCARD_Init1.2 HAL_PCCARD_DeInit1.3 HAL_PCCARD_MspInit1.4 HAL_PCCARD_MspDeInit1.5 HAL_PCCARD_Read_ID1.6 HAL_PCCARD_Read_Sector1.7 HAL_PCCARD_Write_Sector1.8 HAL_PCCARD_Erase…

微信小程序-自定义组件checkbox

一.自定义Coponent组件 公共组件&#xff1a;将页面内公共的模块抽取为自定义组件&#xff0c;在不同页面复用。 页面组件&#xff1a;将复杂页面进行拆分&#xff0c;降低耦合度&#xff0c;有利于代码维护。 可以新建文件夹component放组件&#xff1a; 组件名为custom-che…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验3 总线型以太网的特性(广播,竞争总线,冲突)

一、实验目的 1.验证总线型以太网的特性&#xff1b; 2.验证广播特性&#xff1b; 3.验证各主机对总线的竞争使用以及可能产生的碰撞。 二、实验要求 1.使用Cisco Packet Tracer仿真平台&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容…

PatchMixer:一种用于长时间序列预测的Patch混合架构

前言 《PatchMixer: A Patch-Mixing Architecture for Long-Term Time Series Forecasting》原文地址&#xff0c;Github开源代码地址GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习过程中精读的一些论文&#xff0c;并对其进行了中文翻译…

小抄 20240624

1 不要拿自己的短板和别人的长板比。 看到别人的长板&#xff0c;可以学习&#xff0c;不要因为暂时达不到而自卑&#xff0c;长板能成长板&#xff0c;都是经过长期的刻意练习才达到的。 要在认识到自己长板的基础上&#xff0c;以长板为主&#xff0c;适当补充短板&#x…

软件测试学习笔记丨JUnit5执行顺序

本文转自测试人社区&#xff0c;原文链接&#xff1a; https://ceshiren.com/t/topic/28025 指定顺序使用场景 测试用例有业务逻辑相关集成测试(主流程测试) 排序方式 方法排序类排序Suite官方网站没有明确说明默认排序的具体规则 方法排序的类型 方法排序-Order 注解指定排序 …

python中的nan是什么意思

NaN&#xff08;not a number&#xff09;&#xff0c;在数学表示上表示一个无法表示的数&#xff0c;这里一般还会有另一个表述inf&#xff0c;inf和nan的不同在于&#xff0c;inf是一个超过浮点表示范围的浮点数&#xff08;其本质仍然是一个数&#xff0c;只是他无穷大&…

C#语法——ref和out关键字的使用

前言 我们在C#开发中经常需要将一个参数传入一个方法&#xff0c;然后在方法内部改变这个参数的值&#xff0c;如果这个参数是引用类型&#xff0c;那么直接在方法中改变该参数的值&#xff0c;方法执行完以后该参数的值也会被改变&#xff1b;如果这个参数是值类型&#xff0…

利用ChatGPT优化程序员工作流程:实用案例分享

近年来&#xff0c;人工智能技术的迅猛发展给各行各业带来了翻天覆地的变化。作为其中的一员&#xff0c;程序员在工作中也受益匪浅。其中&#xff0c;ChatGPT的出现&#xff0c;更是成为优化程序员工作流程的得力助手。本文将通过多个实用案例&#xff0c;分享如何利用ChatGPT…

使用ChatGPT提升编程效率:程序员的最佳实践分享

在这个信息技术飞速发展的时代&#xff0c;编程已经成为了越来越多人的必备技能。无论你是初学者&#xff0c;还是经验丰富的开发者&#xff0c;都可能会遇到编程中的各种问题和挑战。幸运的是&#xff0c;AI 技术的进步让我们有了新的解决工具——ChatGPT。作为一名科技博客博…

单片机练习题7

一、填空 1、AT89S51的串行异步通信口为 &#xff08;单工/半双工/全双工&#xff09;。 答&#xff1a;全双工。 2. 串行通信波特率的单位是 。 答&#xff1a;bit/s 3. AT89S51的串行通信口若传送速率为每秒120帧&#xff0c;每帧10位&#xff0c;则波特率为…

Java+ffmpeg 合并两个mp4文件

使用ffmpeg测试命令 测试命令时系统要安装ffmpeg并配置环境变量&#xff1a;初识ffmpeg、安装配置-CSDN博客 ffmpeg -i "E:\Monitor\video_20240617_10.mp4" -i "E:\Monitor\video1_20240617_10.mp4" -filter_complex "[0:v][0:a][1:v][1:a]conc…

【面试题】Redis面试题

目录 为什么使用缓存&#xff1f;Redis是什么&#xff1f;Redis都有哪些使用场景&#xff1f;Redis有哪些功能&#xff1f;Redis支持的数据类型有哪些&#xff1f;Redis为什么是单线程的&#xff1f;Redis真的是单线程的吗&#xff1f;Redis同步机制是什么&#xff1f;Redis持久…

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析3

大家好呀&#xff0c;我是一个SLAM方向的在读博士&#xff0c;深知SLAM学习过程一路走来的坎坷&#xff0c;也十分感谢各位大佬的优质文章和源码。随着知识的越来越多&#xff0c;越来越细&#xff0c;我准备整理一个自己的激光SLAM学习笔记专栏&#xff0c;从0带大家快速上手激…

秒的单位换算(秒,毫秒,微秒,纳秒,皮秒)

时间单位英文换算秒&#xff08;s&#xff09;second1s【秒】毫秒&#xff08;ms&#xff09;millisecond1s【秒】 1000ms【毫秒】微秒&#xff08;μs&#xff09;microsecond1ms【毫秒】 1000μs【微秒】纳秒&#xff08;ns&#xff09;nanosecond1μs【微秒】 1000ns【纳…

【Linux】进程信号_2

文章目录 八、进程信号1. 信号 未完待续 八、进程信号 1. 信号 除了可以使用 kill 命令和键盘来生成信号&#xff0c;我们也可以使用系统调用来生成信号。 kill函数可以对指定进程发送指定信号。 使用方法&#xff1a; int main(int argc, char *argv[]) {if (argc ! 3) {c…

Python数据分析之-Oracle数据库连接

文章目录 cx_Oracle 介绍cx_Oracle运行原理cx_Oracle 安装linux环境安装windows环境安装 cx_Oracle 使用单独使用结合Pandas使用 参考资料 cx_Oracle 介绍 cx_Oracle 8是一个Python扩展模块&#xff0c;它提供了对Oracle数据库的访问能力。以下是cx_Oracle 8的一些关键特性和功…