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

Pytorch Dataset问题解决:数据集读取报错DatasetGenerationError或OSError

问题描述

在huggingface上下载很大的数据集,用多个parquet文件的格式下载到本地。使用load_dataset加载的时候,进度条加载到一半会报错DatasetGenerationError: An error occurred while generating the dataset;如果加载为IterableDataset,则在读取到对应位置时报错OSError: Corrupt snappy compressed data.

解决思路

一开始以为是单条数据错误,想把这条数据用try catch来handle住,失败。后来意识到,load_dataset加载的时候,进度条的数据量是跳变的,说明加载机制是读取每个parquet文件,读取完成后把这个文件的条目数加在总数上。能卡在一个具体的点上,说明出问题的是某一个parquet文件。于是检查每个parquet文件的校验码,发现某个文件校验失败。重新下载后,数据集可以正常加载,无论是否streaming.

反思

由于校验流程比较麻烦耗时,平时下载数据集一般只简单看一下文件大小是否正确,如果每个文件的数据大小都正确,就直接开始做。这次的教训说明,当文件多了之后,校验还是很重要的。以后应该写一个自动校验的程序,来确保下载的数据来源正确。

http://www.dtcms.com/a/122941.html

相关文章:

  • win10离线环境下配置wsl2和vscode远程开发环境
  • spark-Core
  • 基于vue3与supabase系统认证机制
  • 大模型分布式推理和量化部署
  • 高可用之战:Redis Sentinal(哨兵模式)
  • Docker基础2
  • 【教程】Windows 电脑部署使用 config2spec 详细教程
  • 基于ueditor编辑器的功能开发之给编辑器图片增加水印功能
  • 智能防灾网:气象灾害风险管理系统的科技力量与未来蓝图
  • Mybatis的springboot项目使用
  • 【leetcode hot 100 198】打家劫舍
  • 【力扣hot100题】(074)前 K 个高频元素
  • Nginx之https重定向为http
  • 【DvAdmin】接口返回 emoji 显示 ?解决方法
  • ArkTS语言入门之接口、泛型、空安全、特殊运算符等
  • vue3的router.ts中,在children和不在的区别
  • Python 爬取 1688.item_get_factory 接口:获取工厂档案信息实战指南
  • MySQL中FIND_IN_SET函数与INSTR函数用法解析
  • 鸿蒙小案例---心情日记
  • VSCode解决中文乱码方法
  • 【c语言】深度剖析数据在内存中的存储
  • SpringAI调用硅基流动免费模型
  • 应急响应-进程排查
  • Ceph异地数据同步之-Cephfs异地同步复制
  • 【图书管理系统】全栈开发图书管理系统获取图书列表接口(后端:计算图书页数、查询当前页展示的书籍)
  • 前端三件套—HTML入门
  • 数论学习笔记:素数筛
  • 数据库事务隔离级别
  • 前端性能指标详解
  • 【Leetcode-Hot100】盛最多水的容器