简体   繁体   English

是否有可能获得嵌入 keras 层的输出?

[英]Is it possible to get output of embedding keras layer?

I want to use time as an input feature to my deep learning model.我想使用时间作为我的深度学习模型的输入特征。 So I need to use Embedding layer to convert it to embedded vectors.所以我需要使用嵌入层将其转换为嵌入向量。 SO I used:所以我用过:

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

I need the output of Embedding layer (weights I mean).我需要嵌入层的输出(我的意思是权重)。 I used hours_embedding.get_weights().我使用了 hours_embedding.get_weights()。 But I got an error: get_weights() missing 1 required positional argument: 'self' So, How can I get embedding weight matrix?但是我得到了一个错误:get_weights() 缺少 1 个必需的位置参数:'self' 那么,我怎样才能得到嵌入权重矩阵呢?

Create your model First.首先创建您的模型。

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)

And then you can access:然后你可以访问:

model.layers[1].get_weights()

Output:输出:

[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)]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM