MindSpore报错RuntimeError: Syntax error. Invalid data, Page size: 1048576 is too small to save a blob row.

1 报错描述

1.1 系统环境

ardware Environment(Ascend/GPU/CPU): CPU Software Environment: – MindSpore version (source or binary): 1.6.0 – Python version (e.g., Python 3.7.5): 3.7.6 – OS platform and distribution (e.g., Linux Ubuntu 16.04): Ubuntu 4.15.0-74-generic – GCC/Compiler version (if compiled from source):

1.2 基本信息

1.2.1脚本

此案例将自定义数据集转化成MindSpore Record数据格式。

1.2.2报错

RuntimeError: Syntax error. Invalid data, Page size: 1048576 is too small to save a blob row. Please try to use the mindrecord api ‘set_page_size’ to enable 64MB page size. Line of code : 1153

2 原因分析

根据报错信息提示,Pagesize设置太小导致无法读取那么多数据。

3 解决方法

参考提供的set_page_size API,将pagesize设置大一点。

4 总结

1.设置表示存储数据的区域的页面的大小,这些区域分为两种类型:row page和blob page。页面越大,可以存储的数据就越多。 2.不设置pagesize的时候,默认可储存样本大小为32MB,如果样本的大小大于默认大小,用户需要调用API来设置适当的大小。 3.pagesize可调节范围在32 1024(32KB)至256 1024*1024(256MB)。

5 参考文档

mindspore文档->API->mindspore.mindrecord->set_page_size https://mindspore.cn/docs/zh-CN/r1.7/api_python/mindspore.mindrecord.html#mindspore.mindrecord.FileWriter.set_page_size