[英]How to convert this model to a Keras sequential model?
我想將此 model 作為順序模式,但不確定如何。 我想采用典型的 model.sequential() 然后 model.add 風格。 但我不知道如何使用自動編碼器來做到這一點。
query_layer = tf.keras.layers.Conv1D(filters=100, kernel_size=4, padding='same')
value_layer = tf.keras.layers.Conv1D(filters=100, kernel_size=4, padding='same')
attention = tf.keras.layers.Attention()
concat = tf.keras.layers.Concatenate()
cells = [tf.keras.layers.LSTMCell(256), tf.keras.layers.LSTMCell(64)]
rnn = tf.keras.layers.RNN(cells)
output_layer = tf.keras.layers.Dense(1)
for batch in ds['train'].batch(32):
text = batch['text']
embeddings = embedding_layer(vectorize_layer(text))
query = query_layer(embeddings)
value = value_layer(embeddings)
query_value_attention = attention([query, value])
print("Shape after attention is (batch, seq, filters):", query_value_attention.shape)
attended_values = concat([query, query_value_attention])
print("Shape after concatenating is (batch, seq, filters):", attended_values.shape)
logits = output_layer(rnn(attended_values))
loss = tf.keras.losses.binary_crossentropy(tf.expand_dims(batch['label'], -1), logits, from_logits=True)
print(loss)
這是不可能的,因為 model 的拓撲不是線性的。
嘗試功能 API:
input = tf.keras.Input(tf.shape(text))
embeddings = embedding_layer(vectorize_layer(text))
query = query_layer(embeddings)
value = value_layer(embeddings)
query_value_attention = attention([query, value])
attended_values = concat([query, query_value_attention])
logits = output_layer(rnn(attended_values))
model = tf.keras.Model(input, logits)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.