如何扩大我的 Keras 层的暗淡并避免使用 Lambda 层

Jac*_*cky 3 keras tensorflow

我正在使用 tensorflow.js 并尝试将我的 keras 模型转换为 tf.js 模型。但是,它不支持我尝试使用的 Lambda 层在我的模型中转换 tensorto 层(我使用 expand_dims)(如果不使用它,将无法正确创建模型,您知道原因)。所以我想知道是否有任何方法可以避免使用 Lambda 层并扩展我的 embedding_layer 的暗淡。

# input layer
input_x = Input(shape=(sequence_length, ), dtype='int32')

# embedding layer
embedding_layer = Embedding(vocab_size,
                            embedding_size,
                            embeddings_initializer=random_uniform(minval=-1.0, maxval=1.0))(input_x)
embedded_sequences = Lambda(lambda x: expand_dims(x, -1))(embedding_layer)
Run Code Online (Sandbox Code Playgroud)

如果您能给我一些帮助,我将不胜感激,谢谢!

Jac*_*cky 6

我自己解决了。只需使用重塑。

from keras.backend import int_shape
        ......
        embedded_sequences = Reshape((int_shape(embedding_layer)[1], int_shape(embedding_layer)[2], 1))(embedding_layer)
        ......
Run Code Online (Sandbox Code Playgroud)

您可以在不使用 expand_dims 和 Lambda 层的情况下扩展 dim。