提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

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)
问题解决
在这里插入图片描述
在这里插入图片描述
细节,实在细,果然还是我菜。。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐