零基础,进入这个大火的圈子,实验室里面这方面的大牛不少,但对于一个渣前端来说,还是需要时间研究的。我就记录一下,我在没有时间的情况下,入门一周都做了些什么?怎么做的?主要是记录一下看了些什么做了些什么,明白了什么?
因为老师要求一周内要抛出一个demo来,所以我就直奔主题,先了解深度学习是什么,神经网络是什么,深度学习框架是什么,框架怎么用,安装,跑官方示例,跑我的例子,差不多就是这样。深度学习相关的资料都是英文的,所以老老实实看英文。
看了台大李宏毅教授的深度学习课件,觉得受益匪浅,看完整个人对深度神经网络的基础知识感觉很明朗,这是课件地址:链接: https://pan.baidu.com/s/1qYj0rP6 密码: caeg。很喜欢这种简洁明了的ppt风格。
各大深度学习框架的对比:http://deeplearning.net/software_links/,官方文档里面暂时介绍了46种常见的框架,大家可以看看文档。其实·一个框架,在我看来,就是一个数学库,我们要做的就是如何利用这个框架做更有意义的事情。我选择了keras,没有为什么,感觉。
很多深度学习框架都是基于python环境的,所以我就装了ubuntu+windows 7 的双系统,还有python3.5+pycharm,暂时没有GPU,所以也没CUDA什么事。
其他的一些觉得很有用的链接,分享给大家看看。也是给我以后翻的。
深度学习如何入门?
https://www.zhihu.com/question/26006703
什么是熵?什么是相对熵?什么是交叉熵?
http://blog.csdn.net/rtygbwwwerr/article/details/50778098
台大教授李宏毅的深度学习课程 2017
http://www.weiot.net/article-87773.html
斯坦福机器学习课程
http://open.163.com/special/opencourse/machinelearning.html
神经网络基础
http://www.cnblogs.com/maybe2030/p/5597716.html
http://tech.sina.com.cn/i/2016-02-23/doc-ifxprucu3124795.shtml
神经网络是什么?
https://www.zhihu.com/question/22553761
神经网络中的反向传播法
https://www.cnblogs.com/charlotte77/p/5629865.html
THE MNIST DATABASE of handwritten digits,手写数字识别
http://yann.lecun.com/exdb/mnist/
Faster RCNN算法详解
http://blog.csdn.net/shenxiaolu1984/article/details/51152614
深度学习官网指南,这个很有用,真的,我觉得官网最重要,不要因为是英文的就不看。网上很多中文的总结其实就是翻译的英文的资料。
http://deeplearning.net/tutorial/
深度学习入门测试平台
http://playground.tensorflow.org
js写的深度学习框架
什么是激活函数?激活函数有什么用?
http://blog.csdn.net/u013146742/article/details/51986575
momentum有什么作用?weight decay?
https://www.zhihu.com/question/24529483
dropout?
http://blog.csdn.net/stdcoutzyx/article/details/49022443
attention-based model?
http://blog.csdn.net/wuzqchom/article/details/75792501
极客学院tensorflow翻译
http://wiki.jikexueyuan.com/project/tensorflow-zh/
谷歌 tensorflow 官方示例解说:
https://www.cnblogs.com/nowornever-L/p/6932111.html
leNET详细讲解篇:第六层讲的有些问题,其他还好
http://www.360doc.com/content/17/0314/09/10408243_636695555.shtml
入门代码资源库
https://zhuanlan.zhihu.com/p/28601032
最后就是跑例子了,我在windows7上面安装了keras框架,跑了keras官网是的一个示例,这个示例是识别猫狗的,对于入门的人来说,很容易懂:中文翻译教程:http://blog.csdn.net/caanyee/article/details/52502759 ,翻译来源:https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html,官方代码来源(已经更新了,代码按照这个链接走):https://gist.github.com/fchollet/0830affa1f7f19fd47b06d4cf89ed44d。跑完官方给的猫狗的图片数据,我把自己的数据集放在里面跑了一下,代码没变,数据集变了,效果还是可以的。
CNN浅析和历年ImageNet冠军模型解析:http://www.cnblogs.com/payton/articles/6732130.html
再说说我安装keras的过程吧。(要么一直用pip install ,要么一直用conda install。要么32位要么64位,不要冲突)
先安装theano
参考:http://blog.csdn.net/m0_37681914/article/details/73609177,http://blog.csdn.net/m0_37681914/article/details/73609234
测试:
这个WARNING问题解决办法:
theano安装完成后可以在Anaconda2Libsite-packages heano文件夹下找到theano的文件夹。然后不要忘记将该路径加入环境变量中,在我的电脑中路径如下:E:keraEnvanacondaLibsite-packages heano
接下来安装tensorflow:
pip install tensorflow
测试又出现问题;
总归看一下是blas的错误,去官网看了一下,http://deeplearning.net/software/theano/install_windows.html
的确需要安装,所以我就 conda install mkl
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS fu nctions.
Import theano之前先import numpy
Nameerror :the name CVM is not defined
解决方法: 删除该路径 C:UsersusernameAppDataLocalTheano 下的文件,然后重新run。
WARNING (theano.tensor.blas): We did not found a dynamic library into the library_dir of the library we use for blas. If you use ATLAS, make sure to compile it with dynamics library.(这个可以不用管)
接下来安装kera
pip install keras
安装完成后就在keras框架下跑上面那个例子: