首页 > 解决方案 > 张量流模型的多个输入(数据集列表)

问题描述

我想使用数据集列表作为 .fit() 函数的输入,但它返回:

ValueError: Failed to find data adapter that can handle input: (<class 'list'> containing values of types {"<class 'tensorflow.python.data.ops.dataset_ops.PrefetchDataset'>"}), <class 'NoneType'>

我发现同样的问题Input multiple datasets to tensorflow model但我使用的数据超过 100gb,它不适合 RAM。

所以我无法将预取数据转换为普通的 tf 张量。我能做些什么?

标签: pythontensorflow2.0

解决方案


根据文档,它仅支持单个tf.data实例。

您可以在使用之前将它们组合起来,而不是提供多个tf.data.Dataset实例,concatenate如下所示。

a = tf.data.Dataset.range(1, 4)  # ==> [ 1, 2, 3 ]
b = tf.data.Dataset.range(4, 8)  # ==> [ 4, 5, 6, 7 ]
ds = a.concatenate(b)

推荐阅读