使用tf.data.Dataset.from_generator()从生成器加载数据



我想为我的度量学习模型加载数据,数据生成函数是get_data()函数

def get_data():
def my_generator():
for i in range(10):
anchor = list(np.expand_dims(cv2.imread('img1'), axis=0))
positive = list(np.expand_dims(cv2.imread('img2'), axis=0)
true = 0
a = (true, anchor, positive)
yield a
return tf.data.Dataset.from_generator(
my_generator,
output_types=(tf.int64, tf.Tensor, tf.Tensor),
output_shapes=(1, (1, 256, 256, 3), (1, 256, 256, 3))
)
dataset = get_data()
当我运行这段代码时,我得到了以下错误。我试着传递一些其他参数给output_types, tf。例如Float64,但它也不起作用。我想我的形状做错了,但我不知道是什么。

TypeError: Cannot convert value到一个TensorFlow DType

任何帮助都是感激的:)

正如我所想,问题出在形状上,这对我来说很有效

return tf.data.Dataset.from_generator(
my_generator,
output_types=(tf.float64, tf.float64, tf.float64),
output_shapes=(tf.TensorShape(None), tf.TensorShape((1, 256, 256, 3)), 
tf.TensorShape((1, 256, 256, 3))))

相关内容

  • 没有找到相关文章

最新更新