tf.keras.layers.LSTM 示例

import tensorflow as tf
inputs = tf.random.normal([
    1,  # batch
    2,  # 时间步长(时间窗)
    3  # 输入维度
])
print("输入:", inputs.shape)
输入: (1, 2, 3)
lstm = tf.keras.layers.LSTM(4)
output = lstm(inputs)
print("最后一个输出值:", output)
最后一个输出值: tf.Tensor([[-0.02074971 -0.06181227 -0.00734914  0.00274102]], shape=(1, 4), dtype=float32)
lstm = tf.keras.layers.LSTM(
    4,  # 输出空间的正整数、维度。
    # 返回单个 hidden state值还是返回全部time step 的 hidden state值。 False 返回单个, true 返回全部。
    return_sequences=True
)
output = lstm(inputs)
print("所有输出值:", output)
所有输出值: tf.Tensor(
[[[ 0.15341435  0.09737927 -0.13387154  0.05538211]
  [ 0.0466701   0.04704784 -0.14747564  0.01897318]]], shape=(1, 2, 4), dtype=float32)
lstm = tf.keras.layers.LSTM(
    4,  # 输出空间的正整数、维度。
    return_state=True  # 是否返回除输出之外的最后一个状态。
)
lstm1, state_h, state_c = lstm(inputs)
print("最后一个输出值:", lstm1)
print("最后一个输出值:", state_h)
print("隐藏状态值:", state_c)
最后一个输出值: tf.Tensor([[ 0.02579227  0.05082012 -0.00955747  0.04579654]], shape=(1, 4), dtype=float32)
最后一个输出值: tf.Tensor([[ 0.02579227  0.05082012 -0.00955747  0.04579654]], shape=(1, 4), dtype=float32)
隐藏状态值: tf.Tensor([[ 0.06498837  0.11387149 -0.02051686  0.10319157]], shape=(1, 4), dtype=float32)
lstm = tf.keras.layers.LSTM(
    4,  # 输出空间的正整数、维度。
    # 返回单个 hidden state值还是返回全部time step 的 hidden state值。 False 返回单个, true 返回全部。
    return_sequences=True,
    return_state=True
)
lstm1, state_hidden, state_cell = lstm(inputs)
print("所有输出值:", lstm1)
print("最后一个输出值:", state_hidden)
print("隐藏状态值:", state_cell)
所有输出值: tf.Tensor(
[[[-0.2615968  -0.11358638 -0.02559761  0.03946158]
  [ 0.001031   -0.0546873   0.03478507  0.00940466]]], shape=(1, 2, 4), dtype=float32)
最后一个输出值: tf.Tensor([[ 0.001031   -0.0546873   0.03478507  0.00940466]], shape=(1, 4), dtype=float32)
隐藏状态值: tf.Tensor([[ 0.00235827 -0.10970385  0.08445251  0.01719776]], shape=(1, 4), dtype=float32)
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏华东的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值