MindSpore自定义数据增强报错【args should be Numpy narray.Got<class tuple>】

MindSpore可以自定义数据增强算子,切入到数据流水线中对数据进行处理

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

自定义函数写的不对的时候会出现这个错误:

Exception thrown from PyFunc. TypeError: args should be Numpy narray. Got <class 'tuple'>.

打开脚本分析一下:

自定义的Crop操作

原因分析:

GeneratorDataset中存在两个数据列”LR”, “HR”,但是Crop类的__call__函数中除self外只有r入参sample,导致传入的数据类型转为tuple,与期望的numpy.ndarray不符合。

输入数据列(2个数据列):

数据处理类的定义(仅接受单个数据列):

解决办法:

修改__call__的入参为个数,除self外入参个数需要与input_columns中的参数个数保持一致,忽略input_columns时默认为全部的数据列。

可以参考下面修改成__call__方法的入参数量,同时确保__call__方法返回的是numpy组成的tuple对象

其他错误相关帖:

https://bbs.huaweicloud.com/forum/thread-127537-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值