我想为我的度量学习模型加载数据,数据生成函数是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))))