【问题标题】:Is it possible to get output of embedding keras layer?是否可以获得嵌入 keras 层的输出?
【发布时间】:2020-12-27 22:57:00
【问题描述】:

我想将时间用作我的深度学习模型的输入特征。所以我需要使用嵌入层将其转换为嵌入向量。所以我用了:

from keras.layers import Embedding
hours_input=Input(shape=(1,),name='hours_input')
hours_embedding=Embedding(24,64)hours_input

我需要嵌入层的输出(我的意思是权重)。我使用了 hours_embedding.get_weights()。 但我得到一个错误: get_weights() 缺少 1 个必需的位置参数:'self' 那么,如何获得嵌入权重矩阵?

【问题讨论】:

    标签: python deep-learning keras-layer word-embedding


    【解决方案1】:

    首先创建您的模型。

    hours_input=Input(shape=(1,),name='hours_input')
    hours_embedding=Embedding(24,64)(hours_input)
    model = keras.models.Model(inputs = hours_input, outputs = hours_embedding)
    

    然后你就可以访问了:

    model.layers[1].get_weights()
    

    输出:

    [array([[ 0.00782292, -0.03037642, -0.03229956, ..., -0.02188529,
             -0.02597365, -0.04166167],
            [-0.04877049, -0.03961046,  0.01000347, ...,  0.00204592,
              0.01949279, -0.00540505],
            [ 0.0323245 , -0.02847096, -0.0023482 , ...,  0.02859743,
             -0.04320076,  0.01578701],
            ...,
            [ 0.01989252,  0.00970422,  0.00193944, ...,  0.02689132,
             -0.00167314,  0.00353283],
            [ 0.01885528,  0.00589638, -0.03409225, ..., -0.00504225,
              0.01269731,  0.04380948],
            [-0.01756806, -0.00950485, -0.0189078 , ...,  0.023773  ,
             -0.00471363, -0.03708603]], dtype=float32)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-08
      • 2021-04-26
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2020-04-20
      • 2017-06-02
      • 2019-11-13
      相关资源
      最近更新 更多