问题描述:
【功能模块】
mindspore.dataset
split函数
https://www.mindspore.cn/doc/api_python/zh-CN/r1.1/mindspore/dataset/mindspore.dataset.NumpySlicesDataset.html?highlight=split#mindspore.dataset.NumpySlicesDataset.split
【操作步骤&问题现象】
问题一:
文档建议split前不要shuffle,否则每个epoch可能拿到不一样的训练集,是不是可以理解为每个epoch会进行一次split?
mindspore.dataset.NumpySlicesDataset — MindSpore r1.1 documentation
问题二:
我尝试用官网提供的NumPy数据格式代码测试split功能,但看不出切分效果,train和test不应该被分成3笔数据和1笔数据吗?为什么还都是4笔?
https://www.mindspore.cn/doc/programming_guide/zh-CN/r1.1/dataset_loading.html#numpy
【截图信息】
【日志信息】(可选,上传日志内容或者附件)
解决方案:
问题1:是因为每个epoch开始时,会对数据集index进行shuffle,那么按batch输出数据时,epoch1, epoch2, epoch3... 输出的数据顺序就不一样了。
问题2:我本地基于03/26 mindspore master的代码目前看是正确的。
你用的是r1.1版本?应该是我们在master中修复了这个bug,在mindspore r1.2版本发布后会是正确的。
故:现在给你的建议是,1) 先自己手动把数据集切分成两个NumpySlicesDataset,再使用。 2) 3月底 r1.2版本发布后,你再试下新版本。