唐宇迪的深度学习课程之深度学习入门课程(下2017-11-6更新完毕)
卷积神经网络入门代码实现: 利用卷积神经网络实现cifar 图像分类任务。
三层的神经网络:
输入层(data) ——> 卷积层 (conv) ——> 激励函数 (relu) ——> 池化层 (Max pooling) ——> 全连接层(FC) ——>score
Data :3*32*32 ; Filter number:32 ; Filter :7*7 ; Pool : 2*2 ; hidden _dim : 100 ; Class :10
前向传播和Pooling层的反向传播时采用的是4层循环迭代的方法,迭代的速度很慢。
……………………………………………修改…………………………………………
直接运行课件下载的源码会报错是因为它是python2,而不是python3。如果是python2版本是可以直接运行的。Python3需要做一下修改:
更改:
- python2和3使用的默认编码是不同的,我们会发现pickle.load()函数报错。在代码开始部分(start.py)添加如图所示代码:
同时把这个函数(data_utils.py)里面添加:
因为python3把cpickle改成pickle了,记得把import那里修改好
2 . python3的print输出得放在()里面
3 . Python3不支持xrange,改成range
range里面要求是整形变量:
(1)可以使用int强制转化
(2)可以将紫色框中原来的‘/’变化成”//”,python2的除法(/)结果是取整;python3的除法结果(/)是有小数的,可以使用双斜杠(//)来实现取整。
4 . python3不支持optim_config.iteritems()改成.items,如图所示
5 . 最后,记得修改你的数据集路径