【发布时间】:2020-03-12 09:52:33
【问题描述】:
我有一个 tf2 数据集 API dataset,它经历了多次 map 操作,然后是 tf.image.resize,不断输出形状 (300, 300),即保证每条记录在所有映射操作之后都具有这种形状。然而,这并不是天生的推断,因此张量规范显示<undefined>, <undefined> 形状。如果将未定义形状的数据集传递给具有预定义输入形状的模型,则会引发错误。
一些搜索帮助我找到了这个函数tf.contrib.data.assert_element_shape和Issue #16052:
dataset = dataset.apply(tf.data.experimental.assert_element_shape(custom_shape))
但是这个函数在 tf2 中已经被移除了,文档不推荐使用其他东西来代替 assert_element_shape。 什么是等价物?或者如何将形状分配给保证输出特定形状的数据集?
【问题讨论】:
-
如果您知道
tf.image.resize之后的输出是(300, 300),您就不能用set_shape()设置硬编码形状吗?
标签: python tensorflow tensorflow-datasets