小编Jon*_*ker的帖子

如何通过 keras 正确使用张量流数据集进行多个输入层

我有多个输入层(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)

python keras tensorflow tensorflow-datasets

1
推荐指数
1
解决办法
2379
查看次数

标签 统计

keras ×1

python ×1

tensorflow ×1

tensorflow-datasets ×1