可以独立于tf.keras.Sequential或Model使用tf.keras.layers.xx吗?

时间:2019-07-01 07:31:25

标签: tensorflow tf.keras

在Tensorflow中,一些模块的许多功能已被弃用。建议使用tf.keras.layers中的内容。 tutorials通过将它们与tf.keras.Sequential (Sequential)tf.keras.Model (Model)关联来提供使用示例。我想知道是否可以在tf.keras.layers (e.g., Dense, Conv1D, etc.)中使用某些类而不使用SequentialModel

以前在我的代码中使用了以下内容:

gru = tf.contrib.rnn.GRUCell(d)
states, output = tf.nn.dynamic_rnn(gru, inputs)

由于tf.contrib.rnntf.nn.dynamic_rnn均已弃用,我想知道是否可以用以下命令替换它们,而无需在代码中添加SequentialModel

gru = tf.keras.layers.GRUCell(d)
states, output = keras.layers.RNN(gru)(inputs)

1 个答案:

答案 0 :(得分:0)

  

我想知道是否可以在不使用Sequential或Model的情况下在tf.keras.layers中使用某些类(例如Dense,Conv1D等)。

是的,可以。我们可以通过执行以下操作直接“调用”该层,例如:

layer_example = tf.keras.layers.Dense(2,input_shape=(-1,24))
example_tensor = tf.random.uniform(shape=(2, 24))
layer_example(example_tensor)

请注意,我们首先使用tf.keras.layers.Dense创建图层类的实例,然后使用layer_example(example_tensor)

调用

我们当然也可以将其扩展到GRU示例。像这样:

example_tensor = tf.random.uniform(shape=(2, 24, 12))
gru = tf.keras.layers.GRUCell(2)
states, output = tf.keras.layers.RNN(gru)(example_tensor)