卷积神经网络实现cifar 图像分类任务——唐宇迪的深度学习课程之深度学习入门课程代码修改

唐宇迪的深度学习课程之深度学习入门课程(下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需要做一下修改:

更改:

  1. 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 . 最后,记得修改你的数据集路径

猜你喜欢

转载自blog.csdn.net/Snowy_susu/article/details/81207812