【发布时间】:2020-11-18 15:00:29
【问题描述】:
我有一个来自 LSTM 的名称的 3D 张量,其形状为(批量大小 x 名称长度 x 嵌入大小)
我一直在将其重塑为 2D 以使其通过线性层,因为线性层需要(批量大小、线性维度大小)使用以下内容
y0 = output.contiguous().view(-1, output.size(-1))
这会将输出转换为(批量大小、名称长度 * 可能的字符数)
然后我将 y0 通过线性层,然后使用
将其重新整形为 3Dy = y0.contiguous().view(output.size(0), -1, y0.size(-1))
但我不确定 y 的纤维是否与输出的单元格正确相关,我担心这会扰乱我的学习,因为 1 的批量大小实际上会生成正确的名称,而任何更大的批量大小都会生成废话。
所以我的意思是
输出 =(批量大小 * 名称长度,嵌入大小)
y =(批量大小 * 名称长度,可能的字符数)
我需要确保 y[i,j,:] 是 output[i,j,:] 的线性变换版本
【问题讨论】: