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

_pickle.UnpicklingError: STACK_GLOBAL requires str报错解决办法

在这里插入图片描述
Traceback (most recent call last):
……
File “/root/miniconda/envs/yolo/lib/python3.8/site-packages/torch/serialization.py”, line 1338, in _legacy_load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: STACK_GLOBAL requires str
在这里插入图片描述
问题原因就是在数据集labels文件路径中前面训练指令结束后产生了.cache文件,需要先把这个文件删掉即可正常运行。

官方解答:

_pickle.UnpicklingError: STACK_GLOBAL requires str 错误的原因是在数据集的 labels 文件夹中存在 .cache 文件。这些 .cache文件通常是之前训练过程中生成的缓存文件,导致在当前训练过程中出现反序列化错误。具体来说,这个错误通常是由于 .cache文件中的数据格式与当前环境不兼容,或者在序列化和反序列化过程中出现了问题。

解决这个问题的方法即 删除数据集 labels 文件夹中的所有 .cache 文件。以下是详细的解决步骤:
(1)定位 .cache 文件:首先,找到数据集文件夹中的 labels 文件夹。
(2)删除 .cache 文件:删除 labels 文件夹中的所有 .cache 文件。如果可能,也检查 images 文件夹中是否存在 .cache 文件,并一并删除。
(3)重新运行训练脚本:删除缓存文件后,重新运行训练脚本。
具体操作步骤如下:

在Linux环境下,可以使用以下命令批量删除缓存文件:

  cd 数据集文件夹
  rm *.cache

在Windows环境下,可以手动删除 labels 文件夹中的所有 .cache 文件,或者使用命令提示符执行类似的操作:

  cd 数据集文件夹
  del *.cache

通过上述步骤,可以有效解决 _pickle.UnpicklingError: STACK_GLOBAL requires str 错误,使训练过程恢复正常。


http://www.kler.cn/a/428696.html

相关文章:

  • [HCTF 2018]WarmUp
  • 小哆啦解题记:如何计算除自身以外数组的乘积
  • 68,[8] BUUCTF WEB [RoarCTF 2019]Simple Upload(未写完)
  • windows 远程链接 Ubuntu 24.04 LTS 图形界面
  • 如何用3个月零基础入门网络安全?_网络安全零基础怎么学习
  • Rust 数据类型详解
  • 数字化编辑器震撼升级! 开启AI编写标准新篇章
  • ​‌Spring Boot中的@GetMapping注解可以用于处理HTTP GET请求,并且可以接收对象参数​,详细示例
  • 4. React 性能优化技巧:如何让你的应用更快
  • 使用 postman 传递 binary 类型的图片到后端接口遇到的坑
  • C#设计模式--策略模式(Strategy Pattern)
  • AIGC 与艺术创作:机遇
  • Python Flask Web框架快速入门
  • Docker Compose实战一( 轻松部署 Nginx)
  • TCP/IP 协议栈高效可靠的数据传输机制——以 Linux 4.19 内核为例
  • 19 设计模式之享元模式(电影院座位预定案例)
  • spring boot 配置文件加载的加载和使用
  • multiprocessing模块怎么使用?
  • 【MIT-OS6.S081作业1.3】Lab1-utilities primes
  • 基于php+mysql的旅游网站——记忆旅行 旅游分享 攻略分享 设计与实现 源码 配置 文档
  • Unity3D 热更新之HybridCLR方案
  • PT8M2102 触控型 8Bit MCU
  • SQL中的通配符:使用LIKE操作符进行模式匹配
  • 大数据治理:构建数据驱动决策的基石
  • ModelArts Standard的WebSocket在线服务全流程开发
  • [Java]项目入门