# 数据集报错【The data pipeline is not a tree】

使用MindSpore定义数据集的时候，有时候因为定义数据集过于复杂。

**1. 出现了一个error**

ValueError: The data pipeline is not a tree \(i.e. one node has 2 consumers\)

![](figures/1-10.png)

打开脚本一看，果然数据处理pipeline在定义上发生了分支，导致流水线无法确定分叉的走向：

![](figures/2-11.png)

在这种情况相当于dataset1有两个消费节点dataset2, dataset3，如上面的代码所示：

```
dataset2 = dataset1.map(***)
dataset3 = dataset1.map(***)
```

![](figures/3-12.png)

dataset定义上发生了分支，导致dataset1无法确定分叉的走向，究竟是走向dataset2，还是dataset3，所以这是错误的数据集定义方式

**2. 解决办法：**

通常保持同一个数据集名称，可以修改成如下

```
import mindspore.dataset as ds
import mindspore.dataset.vision.c_transforms as C

dataset1 = ds.TFRecordDataset(dataset_dir)
dataset1 = dataset1.map(operations=[C.Resize(256)], input_columns="image", num_parallel_workers=8)
dataset1 = dataset1.map(operations= C.CenterCrop, input_columns="image", num_parallel_workers=8)
```

一直保持同一个数据集名称即可解决

