lstm多维分类的维度问题

我的一条样本维度是249的,我的batch_size是64个,也就是以6424*9的形式放入lstm。
网络结构很简单lstm+linear+softmax,我想问在前向传播时,数据经过lstm后应该怎样给数据变换维度?
从每次输出的结果看,计算机感觉并没有进行学习?

在进行前向传播时,数据经过LSTM层后的维度会发生变化,具体变化的方式与LSTM层的参数设置有关。

假设您的输入数据的形状为(64, 24, 9),其中64为batch_size,24为序列长度,9为特征数量。如果您的LSTM层的隐藏状态大小为128,那么数据经过LSTM层后的维度为(64, 24, 128)。

接下来,您需要将LSTM层输出的3D张量转换为2D张量,以便进行全连接层和softmax层的计算。常见的方法是将最后一个时间步的输出作为LSTM层的输出,即使用LSTM层的最后一个时间步的输出作为全连接层的输入,从而得到每个样本的预测结果。这个输出的形状为(64, 128),表示每个样本的特征向量。

接着,您可以使用全连接层对这个特征向量进行进一步处理,将其转换为适合于分类的形式。这里可以选择添加一个或多个全连接层,将特征向量映射到一个合适的维度。最后,使用softmax层进行分类,输出每个类别的概率。

因此,在前向传播时,数据经过LSTM层后需要进行维度变换,以适应全连接层和softmax层的输入要求