神经网络调试
测试代码
import mnist_loader
training_data,validation_data,test_data=mnist_loader.load_data_wrapper()
import network
net=network.Network([784,30,10])
net.SGD(training_data,30,10,3.0,test_data=test_data)
#因网上下载代码为Python 2.7语法,最新的Python 3.7需要修改。
#Python 3.7 修改部分:
#mnist_loader程序修改部分
1、标准库cPickle修改为pickle,原来为import cPickle
#import cPickle
import pickle
2、Python 3.7增加encoding='bytes',原来为training_data, validation_data, test_data = pickle.load(f)
#training_data, validation_data, test_data = pickle.load(f)
training_data, validation_data, test_data = pickle.load(f,encoding='bytes')
3、Python 3.7增加'list(zip(**))' ,原来为zip()
#training_data = zip(training_inputs, training_results)
training_data = list(zip(training_inputs, training_results))
#network程序修改部分
1、 所有xrange()函数修改为range(),原来为for j in xrange(epochs):
#for j in xrange(epochs):
for j in range(epochs):
2、print()函数需要加括号,原来没有加。
#print "Epoch {0}: {1} / {2}".format(j, self.evaluate(test_data), n_test)
print ("Epoch {0}: {1} / {2}".format(j, self.evaluate(test_data), n_test))