如何将粗糙张量提供给TensorFlow Extended训练的DNN ?



我们正在使用TFX开发一个ML管道,其中包含最常见的组件,如ExampleGen、Transform、Trainer等。必须馈送到DNN的示例具有不同的长度,因此我们决定使用粗糙张量来启用非固定维度的输入并避免填充。然而,Trainer组件似乎试图自动将输入转换为张量或类似的东西。

TypeError: Failed to convert type 'tensorflow.python.ops.ragged.ragged_tensor.RaggedTensor'>张量。内容:>tf.RaggedTensor(values=Tensor("Placeholder:0", shape=(None, 605), dtype=float32),>row_splits=Tensor("Placeholder_1:0", shape=(None,), dtype=int64))。考虑将元素强制转换为>支持的类型。

该模型是一个用于结构化数据的KerasSequential DNN,主要具有Dense层。有可能在TFX中编写的管道中使用粗糙张量吗?Keras支持粗糙张量吗?

谢谢大家!

顺便说一下,我们使用的是:

  • 的敏感性:v1.4.0
  • TensorFlow: v2.6.3
  • Python: 3.7.12

粗糙张量本质上是一个包含可变数量元素的列表。将其放入深度神经网络的问题在于,你不知道你会得到多少输入,因此你无法提前创建一个图来进行计算。粗糙张量不能进入稠密层是线性代数的限制,而不是张量流。如果你能分享更多的细节使你的问题重现,我可以试着帮忙。

相关内容

  • 没有找到相关文章

最新更新