【发布时间】:2017-11-05 12:36:28
【问题描述】:
将输入数据传递到 PyTorch 中的线性(全连接层)时出现此错误:
matrices expected, got 4D, 2D tensors
我完全理解这个问题,因为输入数据具有形状 (N,C,H,W)(来自 Convolutional+MaxPool 层),其中:
- N:数据样本
- C:数据的渠道
- H、W:高度和宽度
尽管如此,我期待 PyTorch 对数据表单进行“重塑”:
- [ N , D1,...Dn] --> [ N, D] 其中 D = D1*D2*....Dn
我尝试重塑 Variable.data,但我了解到不建议使用这种方法,因为渐变会保留以前的形状,而且通常您不应该改变 Variable.data 形状。
我很确定该框架有一个简单的解决方案,但我还没有找到。
有没有好的解决方案?
PD:全连接层的输入大小为 C * H * W
【问题讨论】:
标签: python machine-learning deep-learning pytorch