Keras 中的串联层

我正在尝试接受 2 个输入到我的模型中。但它有一个奇怪的问题。


x1= layers.Input((20000,))

x2= layers.Reshape((200,100), input_shape=(20000,))(x1)


y1= layers.Input((200000,))

y2= layers.Reshape((2000,100), input_shape=(200000,))(y1)


combine = layers.Concatenate(axis=1)([x2, y2])

model = tf.keras.Model(inputs=[x1, y1], outputs=combine)

model.predict([datasetA, datasetB])

如果我接受一个输入,模型就可以运行。


model = tf.keras.Model(inputs=[x1], output=x2)

model.predict(datasetA)

但如果我接受两个输入,模型就死了。


Failed to find data adapter that can handle input: (<class 'list'> containing values of types {"<class 'tensorflow.python.data.ops.dataset_ops.PrefetchDataset'>"}), <class 'NoneType'>

即我的数据集的结构是:


<PrefetchDataset shapes: ((None, 20000), (None,)), types: (tf.int64, tf.int32)>

1 Dataset -> 5 Batche_data and 5 batch_Label

Each Batch_data -> 3 records

Each record -> [20000]


Each batch_Label -> 3 records

Each label -> 0 / 1 for classification

我该如何解决这个问题?

千万里不及你
浏览 103回答 2
2回答

扬帆大鱼

好的,所以我找到了答案,一切都很简单。在自然状态下,它仅返回 140 个字符,因此而不是statuses&nbsp;=&nbsp;api.user_timeline(id=462886126)&nbsp;&nbsp;&nbsp;&nbsp;print(statuses[0].text)我只需要:statuses&nbsp;=&nbsp;api.user_timeline(id=462886126,&nbsp;tweet_mode='extended')&nbsp;&nbsp;&nbsp;&nbsp;print(statuses[2].full_text)

慕哥9229398

您用于tensoflow.keras导入图层吗?唯一可能出现model.summary 问题的是您通过模型的形状。这段代码工作正常。张量流==2.0.0import tensorflow as tfimport numpy as npdatasetA = np.zeros((10,20000),dtype=int)datasetB = np.zeros((10,200000),dtype=int)x1= tf.keras.layers.Input((20000,))x2= tf.keras.layers.Reshape((200,100), input_shape=(20000,))(x1)y1= tf.keras.layers.Input((200000,))y2= tf.keras.layers.Reshape((2000,100), input_shape=(200000,))(y1)combine = tf.keras.layers.Concatenate(axis=1)([x2, y2])model = tf.keras.Model(inputs=[x1, y1], outputs=combine)model.summary()model.predict([datasetA, datasetB])print('the predict done')], outputs=combine)
打开App,查看更多内容
随时随地看视频慕课网APP