【问题标题】:How to Input a token(int) and a 2d sequence in Keras?如何在 Keras 中输入令牌(int)和二维序列?
【发布时间】:2020-07-20 19:30:19
【问题描述】:

我正在尝试在输入数据上训练一个模型,该输入数据由一个令牌(一个 id)和一个固定宽度(通道数)和长度(时间序列窗口的长度)的二维序列数据组成。我希望令牌进入嵌入层,时间序列数据稍后进入 LSTM。我的问题是如何在 Keras/Tensorflow 中输入这样的数据,然后在模型中如何拆分它?

【问题讨论】:

  • 请告诉我们您是如何尝试解决问题的(简单的工作代码示例)

标签: python tensorflow keras lstm word-embedding


【解决方案1】:

我找到了答案,所以在这里发布。您可以使用 Keras 提供的 Lambda 函数来完成。

x = tf.keras.Input(shape=input_)

x1= layers.Lambda(lambda x: x[:,-1,-1])(x) 
x2 = layers.Lambda(lambda x: x[:,:,0:-1])(x)

y1 = layers.Embedding(100 ,16 ,input_length=1)(x1)
y2 = layers.LSTM(units=10, return_sequences=True)(x2)

y = layers.concatenate([y1,y2],axis=1)
y = layers.Flatten()(y)

【讨论】:

    猜你喜欢
    • 2019-04-05
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2021-05-01
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多