您的位置:首页 > 理论基础 > 计算机网络

深度学习进阶(二)--神经网络结构算法以及梯度下降法

2017-10-07 23:51 691 查看
总结一下今天的学习过程

注:感觉最近状态很不好,精神头有点不足,没有一开始的激情了,就比如说今天的学习,感觉不是很积极

一是继续捣鼓了GPU的配置环境,还是不怎么OK,也许是测试或验证的方式不对

二是看了神经网络结果以及梯度下降算法的简单原理,结合一个GitHub的项目

neural-networks-and-deep-learning,学习了代码

下面是在Python3中遇到的一些问题以及解决总结,因为GitHub上是用的Python2环境

算法代码下载
https://github.com/mnielsen/neural-networks-and-deep-learning

1,改变成自己的Python环境

2. importerror no module named cpickle
cPickle module in  Python2  has been replaced by an improved module pickle in Python3. So simply use pickle.
解决:
# import cPickle
import pickle

#training_data, validation_data, test_data = cPickle.load(f)
training_data, validation_data, test_data = pickle.load(f, encoding="bytes")

3,TypeError: object of type 'zip' has no len()、'zip' object is not subscriptable

Try using list(zip(…) where you have zip(…) – Julien Jun 27 ‘16 at 4:02
根据代码进行修改,前缀list
tr_d, va_d, te_d = load_data()
    training_inputs = [np.reshape(x, (784,
1))
for
x
in
tr_d[0]]
    training_results = [vectorized_result(y)
for
y
in
tr_d[1]]
   
#training_data =
zip(training_inputs, training_results)
    training_data = list(zip(training_inputs, training_results))
    validation_inputs = [np.reshape(x, (784,
1))
for
x
in
va_d[0]]
   
#validation_data =
zip(validation_inputs, va_d[1])
    validation_data = list(zip(validation_inputs, va_d[1]))
    test_inputs = [np.reshape(x, (784,
1))
for
x
in
te_d[0]]
   
#test_data =
zip(test_inputs, te_d[1])
    test_data = list(zip(test_inputs, te_d[1]))
   

return
(training_data, validation_data, test_data)

4,NameError: name 'xrange' is not defined
xrange( )函数时在python 2.x中的一个函数,在Python 3中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange( )

将network中的xrange换成range
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐