MindSpore可以自定义数据增强算子,切入到数据流水线中对数据进行处理
相关的API可以参考:mindspore.dataset.map
自定义函数写的不对的时候会出现这个错误:

Exception thrown from PyFunc. TypeError: args should be Numpy narray. Got
打开脚本分析一下:
自定义的Crop操作

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

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

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

其他错误相关帖: