神经网络与深度学习学习笔记(1)

来源:互联网 发布:虚拟光驱软件是啥 编辑:程序博客网 时间:2024/04/29 23:15

《神经网络和深度学习》一书进行学习。神经网络和深度学习目前给出了在图像识别、语音识别和自然语言处理领域中很多问题的最好解决方案。

使用随机梯度下降算法和MNIST训练数据。

数据集说明:包含着正确分类器的手写数字的图像扫描
第一部分包含60 000幅用于训练数据的图像,图像大小是28*28大小的灰度图像。
第二部分是含10 000幅用于测试数据的图像,同样大小是28*28的灰度图像。
测试数据取自和原始训练数据不同的另外一组250人

书中将第一部分60 000个图像训练集分成两个部分:第一部分50 000个图像,用于训练我们的神经网络,和一个单独的10 000个图像的验证集(书后面会用这些验证数据解决超参数问题,如学习速率问题)。

作者编写时使用的是Python2.7,导致只用Python3编写时出现很多错误,主要解决方法如下

1、pickle的改变

这里需要把MNIST里的src文件夹下的mnist_loader.py里的相关代码改一下。首先由于python3里不再有cPickle模块,所以只能用pickle,所以将

import cPickle

改为

import pickle

相应的,load_data函数里的:

training_data, validation_data, test_data = cPickle.load(f)

也改为:

training_data, validation_data, test_data = pickle.load(f)

2、object of type ‘zip’ has no len

直接修改mnist_loader里的输出的data的类型,将load_data_wrapper()里的有用到zip语句,都将zip(...)改为list(zip(...))。

3、name ‘xrange’ is not define

把network.py里有用到xrange的地方改为range。


阅读全文
0 0
原创粉丝点击