希望建立一个系列的笔记记录自己的tensorflow学习之路,并与他人分享。
tensorflow是谷歌开源的深度学习框架,作为工程开发人员,再tensorflow上既可以动手实现自己设计的深度学习框架,也非常易于重现论文中的成果。作为从其它软件开发方向转入到深度学习方向的人来说,tensorflow封装了很多常用模块和功能,使得我们易于学习和掌握。
这里摘抄一段来自http://www.tensorfly.cn/的话介绍tensorflow:
TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
下面介绍一下tensorflow的学习资源:
代码
源码:https://github.com/tensorflow/tensorflow
由于“你懂的”原因,国内经常不能访问谷歌的相关网站,tensorflow的官网也是如此。好在国内有个对应的中文网站,上面有中文手册和文档,更新没有官网快,但是也是非常好的资源。
国内社区网址是:http://www.tensorfly.cn
例程
在tensorflow的文档中推荐了一个非常好的代码例程的git项目,内容编排的比较好。
这个项目的地址在:https://github.com/aymericdamien/TensorFlow-Examples
截止2018年3月初,这个项目有20K+的star数和7K+的fork数,其质量和影响可见一斑。
视频资源
国内有人在优酷上上传了不少优秀的视频资源,我看过的一个不错的视频在这里:TensorFlow 初级教程http://v.youku.com/v_show/id_XMjY4NDI3NjE2OA==.html?spm=a2hzp.8253876.0.0&f=49399706
这个视频用户下还有不少其它机器学习、深度学习相关的资源。
这个用户的网站是:http://studyai.com/course/index/
这个网站上有不少课程和博文,非常值得学习。
数学基础
在网易云课堂网站上有一个不错的深度学习数学基础教程:https://study.163.com/course/courseMain.htm?courseId=1005022007
这个课程把深度学习相关的数学概念复习了一下,有助于普通程序员转向深度学习。
其它深度学习资源和课程
在网易云课堂上有很多深度学习相关课程(比如李飞飞的cs231n和吴恩达的机器学习),当然也有tensorflow的,这些都可以作为学习的资料。另外,国外出名的深度学习课程网站是:https://www.coursera.org/。吴恩达和李飞飞的课程也在上面
学习tensorflow的书籍
《白话深度学习与tensorflow》这本数可以用来理解很多深度学习的基本概念和原理,对于tensorflow的学习没有太多直接帮助。到那时还是很推荐这本书,因为里面讲解的原理性的东西很好懂,这些都是学习tensorflow的基础。
另外李航的《统计学习方法》作为传统机器学习的书籍,也值得推荐。
学习计划
目前为止我已经看完了《TensorFlow 初级教程》的视频,有一定的tensorflow黑盒使用经验,熟悉python和c++。网易云课堂上的数学基础课程我也看过了。《白话深度学习与tensorflow》这本书我已看完并做了笔记,李航的《统计学习方法》也开了头。cs231n-2017也刚看了前几章。
后面我将会结合《TensorFlow 初级教程》和TensorFlow-Examples的代码,一步步记录学习tensorflow‘的过程。