Halfish / cs231n

斯坦福 cs231n 作业代码实践
628 stars 226 forks source link

请教一下:assignment2/cs231n/classifier/cnn.py的第一个全连接层的输入维度为什么是F*H/2*W/2? #2

Closed liferlisiqi closed 6 years ago

liferlisiqi commented 6 years ago

源码在cnn.py的54行,多谢了

Halfish commented 6 years ago

这行吗?cnn.py L54

因为输入的维度是 C,H,W,经过一层卷积运算以后是 F,H,W,再经过 pooling 后变成了 F, H/2, W/2,把这些维度 flatten 成一维就行了。其中激活函数不改变维度,卷积核卷积也是做了 padding,不改变长和宽。

liferlisiqi commented 6 years ago

@Halfish 对,就是这行。你说卷积后的维度是FxHxW,但是卷积维度的公式是(H-HH+2×pad)/stride+1,这里的pad和stride并没有给出啊,还是说不是按照这个公式算的,多谢了。

Halfish commented 6 years ago

79 行不是给了 pad 和 stride?

liferlisiqi commented 6 years ago

奥,原来是从后向前推的