飞桨教程里的错误
收藏
在飞浆官方教程LeNet部分有一个错误:https://www.paddlepaddle.org.cn/tutorials/projectdetail/2200757
位于“第三章 计算机视觉(下) 图像分类”中关于LeNet的forward函数,conv1 - sigmoid - maxpool - sigmoid - conv2 - maxpool - conv3 - fc - sigmoid - fc,这个应该是错的,激活层的位置不对,请检查。原文中代码如下:
def forward(self, x):
x = self.conv1(x)
# 每个卷积层使用Sigmoid激活函数,后面跟着一个2x2的池化
x = F.sigmoid(x)
x = self.max_pool1(x)
x = F.sigmoid(x)
x = self.conv2(x)
x = self.max_pool2(x)
x = self.conv3(x)
# 尺寸的逻辑:输入层将数据拉平[B,C,H,W] -> [B,C*H*W]
x = paddle.reshape(x, [x.shape[0], -1])
x = self.fc1(x)
x = F.sigmoid(x)
x = self.fc2(x)
return x
GT
已解决
9#
回复于2021-10
激活函数这块,其实用啥都没太大问题,顺序也是,哪怕是Tanh放最前面都行,无非是效果好不好。当然,这个没有最优解,不同数据集上表现不错的激活函数也并非是一个,而是有很多选择。
1
收藏
请登录后评论
首先开幕雷击,是飞桨谢谢,先把错别字先改正
emmm,吓得我去看了好多资料但是没有看到你说的哪里错了啊,能不能指出来那个错了,那个代码应该放在哪里啊,我看了看,如果不加
那么多维的数据进一维是不报错了嘛?
希望点拨一下
截图看下,LeNet里forward函数,是不是不太对?
飞桨飞桨飞桨飞桨飞桨飞桨飞桨飞桨飞桨飞桨飞桨,麻烦先把名字改对来
然后这个确实没有问题
http://www.dengfanxin.cn/wp-content/uploads/2016/03/1998Lecun.pdf
论文原文
感谢专业人士为我解读。不过我略读了一遍论文,里面似乎没有激活函数的使用说明。另外,按我理解激活函数不应该是在卷积以后吗,maxpool之后为什么会紧接着一个激活函数?确定这是ok的吗?
激活函数这块,其实用啥都没太大问题,顺序也是,哪怕是Tanh放最前面都行,无非是效果好不好。当然,这个没有最优解,不同数据集上表现不错的激活函数也并非是一个,而是有很多选择。