我有多个输入层(20 个输入层),我想使用 atf.dataset来为模型提供数据。batch_size 是 16。不幸的model.fit(train_dataset, epochs=5)是抛出以下错误:
ValueError:检查模型输入时出错:传递给模型的 numpy 数组列表不是模型预期的大小。对于输入 ['input_2', ... , 'input_21'] 预计会看到 20 个数组,但得到以下 1 个数组的列表: [<tf.Tensor 'args_0:0' shape=(None, 20 , 512, 512, 3) dtype=int32>]...
我认为 keras 想要一个像(20,None,512,512,3)这样的形状。有人对这个问题有想法,或者如何为具有多个输入层的模型正确使用 tf.datasets 吗?
def read_tfrecord(bin_data):
for i in feature_map_dict:
label_seq[i] = tf_input_feature_selector(feature_map_dict[i])
img_seq = {'images': tf.io.FixedLenSequenceFeature([], dtype=tf.string)}
cont, seq = tf.io.parse_single_sequence_example(serialized=bin_data, context_features=label_seq, sequence_features=img_seq)
image_raw = seq['images']
images = decode_image_raw(image_raw)
images = tf.reshape(images, [20,512,512,3])
images = preprocess_input(images)
label = cont["label"]
return images, label
def get_dataset(tfrecord_path):
dataset …Run Code Online (Sandbox Code Playgroud)