import tensorflow as tf
# Build the Keras model.
keras_model = tf.keras.Sequential([
tf.keras.layers.Input(shape=[None,7], ragged=True),
tf.keras.layers.RNN(tf.keras.layers.LSTMCell(1), return_sequences=True),
])
keras_model.compile(loss='binary_crossentropy', optimizer='rmsprop')
print(keras_model.inputs,'\n')
print(keras_model.outputs,'\n')
print(keras_model.summary(),'\n')
data=tf.ragged.constant([[[1,2,3,4,5,6,7],
[1,2,3,4,5,6,7]],
[[1,2,3,4,5,6,7],
[1,2,3,4,5,6,7],
[1,2,3,4,5,6,7],
[1,2,3,4,5,6,7]]])
keras_model.fit(data,label,verbose=0)
print(keras_model.predict(data),'\n')
输出为:
[<KerasTensor: type_spec=RaggedTensorSpec(TensorShape([None, None, 7]), tf.float32, 1, tf.int64) (created by layer 'input_29')>]
[<KerasTensor: type_spec=RaggedTensorSpec(TensorShape([None, None, 1]), tf.float32, 1, tf.int64) (created by layer 'rnn_18')>]
Model: "sequential_28"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
rnn_18 (RNN) (None, None, 1) 36
=================================================================
Total params: 36
Trainable params: 36
Non-trainable params: 0
_________________________________________________________________
None
<tf.RaggedTensor [[[0.16834764],
[0.22184959]], [[0.16834764],
[0.22184959],
[0.2324349],
[0.23424074]]]>










