提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
MindSpore数据集报错【The data pipeline is not a tree】
数据集有两个消费节点发生冲突
错误日志:

ValueError: The data pipeline is not a tree (i.e. one node has 2 consumers)
错误描述:
dataset 定义上发生了分支,导致 dataset 无法确定分叉的走向。
参考解决方法:
检查数据集名称,通常一直保持同一个数据集名称即可。
参考实例链接:链接: The data pipeline is not a tree
---------------------------------------------------------以上未能解决我的问题T-T
我的代码:
def my_create_dataset(dataset_dir,usage,batch_size=32):
data = ds.ImageFolderDataset(dataset_dir)
data.shuffle(buffer_size=1000)
# 定义算子
trans = [
vision.Decode(),
vision.Resize(256),
vision.RandomHorizontalFlip(prob=0.5),
# 使用训练backbone网络时用的mean和std
vision.Normalize(mean=(100.03388269705046, 94.57511259248079, 72.14921665851293),
std=(23.35913427414271, 20.336537235643164, 21.376613547858327)),
vision.HWC2CHW()]
#数据映射操作
data=data.map(operations=trans,input_columns='image')
# 批处理
data = data.batch(32, drop_remainder=True)
# 重复
data = data.repeat(1)
return data
在一行行对着能运行的代码终于找到了问题所在:
将data.shuffle(buffer_size=1000) 改为 data=data.shuffle(buffer_size=1000)
问题解决
细节,实在细,果然还是我菜。。