前一段时间比较系统的学习了一下tensorflow,从安装tensorflow到实现一些小的demo。在这个过程里面,在网上看了很多教程, 学习了很多大牛的博客,看了很多很棒的代码,同时也掉进了很多坑,走了很多“弯路”。在这里阶段性的小结一下。
推荐的tensorlfow 教程 :
吴恩达的deeplearning ,网易云课堂上面可以免费的观看。这个不是讲tensorflow,它更加注重 ,深度学习和机器学习的概念和数学推导过程。把这个课程看完之后,基本上会有对机器学习和深度学习有一个完整的认识,同时在写tensorflow的时候,调用一些函数的时候,不会对底层感到很迷茫。
莫烦的tensorlfow教程
一个很好的tf教程,很适合入门。but它的教程更偏向于tensorflow的实现过程,对于网络模型的底层的数学过程,他介绍的不是很多。但是,我个人觉得这个非常重要,对于一个网络的正向和方向的数据流的过程以及维度的变化,还是要有一个清楚的认识。要不然对机器学习的认识就变成一个黑盒了。周志华的西瓜书《机器学习》
很多人推荐的一本经典教程吧,是结合吴恩达的课程一起看的,但没怎么看完,也不敢多评价了。李航 《统计学习方法》
作为一个对数学很畏惧的人,基本上最纯数学的教程或书籍都是绕着走的。但是,这本是我看过的最好的数学类的书籍,很薄了一本书,淘宝20多元,但是真实的受益匪浅,学到了非常非常多的东西。这本书可以一直放在手边,没事多翻翻。@hanbingtao 的博客 https://www.zybuluo.com/hanbingtao/note/541458
这位大哥的博客比较注重从网络模型的实现推导过程,从感知机到rnn,lstm,cnn全用公式推导了一次,包括正向和反向的过程。还有几个github :
Philippines大学的roatienza大爷的 https://github.com/roatienza
hanbingtao 的GitHub : https://github.com/hanbt
莫烦的GitHub :https://github.com/MorvanZhou
Xiang Liang的GitHub : https://github.com/xlvector还有实验室的师兄们,给了很多帮助。和 stackoverflow 解决了很多遇到的问题。
公开课
Udacity Deep Learning 优达学城
英文 English 中文 Chinese 免费
cs231n 卷积神经网络与计算机视觉
cs224d 循环神经网络与自然语言处理
这是我用tf实现的常用的基本网络模型 ,这可能是最容易上手,注释最多的tensorflow教程了。很多关于数据维度和tf的函数都加上了注释,对新手来说很friendly。而且,他们都是可以从github上面拉下来就可以运行的!
包括:
- 线性回归 ,Logistic 回归
- 多层感知器 实现mnist手写数字数据集的分类
- CNN卷积神经网络
- RNN递归神经网络
- LSTM网络
- 自编码器
- 保存和恢复模型
关于网络模型的介绍,代码的实现,学习过程中遇到的问题,掉的“坑”,在后面文章里面再整理。先把代码放在这里。github地址 :
https://github.com/zhaozhengcoder/Machine-Learning/tree/master/tensorflow_tutorials
PS:
有人私信问如何在自己的电脑上面跑起来,我的代码运行环境是python 版本 3.5.4 ,tensorflow 版本 1.4.0。环境搭建教程如下:
- 安装python
## window下安装python
1. 到https://www.python.org/downloads/windows/ 官网下载安装包,点击安装(记的勾选add path 添加环境变量)
2. 或者 ,查看廖雪峰的教程 : https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316090478912dab2a3a9e8f4ed49d28854b292f85bb000
## ubuntu 下安装python
sudo apt-get install python3.5
- 安装tensorflow
## windows
### cpu版本
pip3 install --upgrade tensorflow
### gpu版本
pip3 install --upgrade tensorflow-gpu
## ubuntu
pip install tensorflow
PPS :
感谢莫烦 https://github.com/MorvanZhou 的帮助
重复了莫烦的GitHub上面的代码,发现代码的结果有一点和他的博客上面说的不一样的地方,于是发了提了一个问题,收到了很认真的答复。感觉这是一个温暖的世界。