You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置TensorFlow中LSTM各输入输出向量的长度参数

TensorFlow LSTM层各类输入输出向量长度设置方法

你提到的三类共6项输入输出的向量长度,对应设置规则如下:

  • 外部输入向量长度:不需要在LSTM构造函数里单独指定,默认取输入张量最后一维的数值,你也可以通过input_shape参数显式声明。比如单条样本序列长度为20、每个时间步的输入特征数为12,就设置input_shape=(20,12),这里的12就是外部输入的向量长度。
  • 外部输出、隐状态(h)输入/输出、上下文状态(c)输入/输出:这五项的向量长度完全一致,统一由LSTM构造函数的units参数指定。比如你设置units=64,上述五项的向量长度就都是64。

实际代码示例如下:

import tensorflow as tf
from tensorflow.keras import layers

# units=64统一指定隐状态、上下文状态、输出的向量长度
lstm_layer = layers.LSTM(units=64, return_sequences=True, return_state=True)

# 输入张量形状为(批量大小, 序列长度, 输入特征维度),最后一维16就是外部输入向量长度
input_data = tf.random.normal((32, 10, 16))
output, h_state, c_state = lstm_layer(input_data)

# 打印形状验证:
print(output.shape)      # (32, 10, 64) 外部输出向量长度为64
print(h_state.shape)     # (32, 64) 隐状态输出向量长度为64
print(c_state.shape)     # (32, 64) 上下文状态输出向量长度为64

如果需要手动传入初始隐状态、上下文状态,只要保证两者的最后一维和你设置的units参数数值一致即可,不需要额外调整LSTM的构造参数。

内容的提问来源于stack exchange,提问作者Mark Lavin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 03:15:02