MindSpore-GeneratorDataset报错误Unexpected error. Invalid data type

MindSpore可以自定义Python数据源,通过迭代该数据源构造数据集。有点类似PyTorch的DataLoader。

相关的API可以参考:mindspore.dataset.GeneratorDataset

在ModelArt + GPU + MindSpore 1.2.0 环境下,使用GeneratorDataset接口加载自定义语音数据集,

报出如下错误:

Unexpected error. Invalid data type.

Line of code : 109

File: /home/jenkins/agent-working-dir/workspace/Compile_GPU_x86_Ubuntu_Cuda10/mindspore/mindpore/ccsrc/mindata/dataset/core/tensor.cc

原因分析:

  • 问题出现的原因可能为,自定义的Datast 或map 操作中返回的是一个dict类型数据等,不是numpy array 或 numpy array 组成的元组(tuple)。因为其他类型(dict、object等)不是一个可控的数据类型同时也不明确其中的数据存储方式,因此报出Invalid type的错误。

解决办法:

  • 需要确认下自定义的数据处理部分是否返回了dict等,需要返回numpy array
  • 或者检查一下自定义加载数据时,__getitem__ 函数需要返回值是 tuple,并且tuple的元素是 numpy类型。

这里给出一个例子,标注了几个重要的地方进行numpy 的转换,请确认相关位置的数据类型是否为numpy或tuple[numpy]

其他错误相关帖:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值