### 更正, 真正的問題是 準備dataset 的定義弄錯了. ( batch, seq, feature ), 原來source 的寫法不完全正確, 在1D 可以work, 但改為 multivate 後就不對了.
在改成多維 output 之後, 就直接遇到這個問題, dimension 跑掉了?!
"unbatched 2-D input, hx and cx should also be 2-D but got (3-D, 3-D) tensors"
當batch =1 時遦會出錯, 就不是字面上的提到的2D-3D 問題, 其實是 input x 的dimension 不對了,
在training epoch loop 前
要將 x.size( )=[t, squence_length] ==> [t, squence_length, 1] 即可
x=x.unsqueeze(2)
for (epoch):
output = lstm(x)
但事情未完全成功,
evalue 時又不同了?!, 在forward 內部要加
def forward(self, x):
x=x.unsqueeze(2)
hn,(h,c) = self.lstm(x, (h_0, c_0))
## 以上沒有完全理解程式的解法, 之後如果了解更多時, 更新錯誤.
#Input dimension 如果>1 不知是否還有其他問題.
文章標籤
全站熱搜
留言列表