首页 > 解决方案 > 如何扩展我的 Keras 层的暗淡并避免使用 Lambda 层

问题描述

我正在使用 tensorflow.js 并尝试将我的 keras 模型转换为 tf.js 模型。但是,它不支持我尝试在模型中转换 tensorto 层(我使用 expand_dims)的 Lambda 层(如果不使用它,模型将无法正确创建,你知道原因)。所以我想知道是否有任何方法可以避免使用 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)

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

标签: tensorflowkeras

解决方案


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

from keras.backend import int_shape
        ......
        embedded_sequences = Reshape((int_shape(embedding_layer)[1], int_shape(embedding_layer)[2], 1))(embedding_layer)
        ......

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


推荐阅读