TensorFlow入门

宁静致远
11个月前 阅读 422 点赞 5

Tensorflow作为Google花大力构建维护的项目,拥有一套异常完善的Tutorial。对初学者来说,可能完善到让人不知道该从哪里下手,相信看过它的网站的同学们都能感觉得到。但既然是开源项目,要学习它肯定是从官方的Document下手,这里也感谢极客学院的大佬们细心翻译,方便了小白们入坑。


首先,要想应用这种深度学习包,需要你对机器学习这方面有一个理论上的了解,完全不会ML、DL的纯小白也不可能看得懂这些文档和算法,文档里的介绍大部分都是在应用层面上的指导。我在这之前对ML和DL算有一定的基础,精看过几本书,乱看过几个系列的网课,刷了Ufldl,啃过一些经典的paper,看题主的提问水平相信基础知识也很扎实。


考虑到,这个项目开源也没多久,所以也没有什么统一认可的学习方法。我自己开始是同时看极客学院和原版的文档,开始的MNIST肯定是要完全吃透的,这里边有两种代码,Deep MNIST for Experts是初级的(虽然是For Experts但确实很初级),比较好理解,简单实现了MNIST卷积神经网络,也没有模块化;这后面的一章TensorFlow Mechanics 101 在之前一章的基础上实现了模块封装,算是一个稍微有模有样的代码。我当时把这一章的代码拿出来各种乱改,实现不同的功能,搞懂了这一块才基本算入门了。


这之后硬啃下了CIFAR10的卷积实现的代码,这期间接触了不少新函数,不明白了就看文档的API或者上CSDN上看博客之类的,个人认为这是一个比较重要的时间段,对整个Tensorflow的架构有了一个更加系统的认识。说实话过程还是挺痛苦的,因为文档从这里开始不再细致的讲解,而是为学习者拓宽Tensorflow的使用方式。有时想吃透一些细节就必须耗很久。我个人非常建议在这个阶段多自己上手写程序,当然,我们可能还达不到完全自己写出来的水平,那就拆人家的轮子然后改,在自己写的过程中,会遇到一些经典的问题,最后发现人家的方法确实好,确实有这么做的道理。这个过程大概花了两周的时间,也算是在图像处理上有一些想法和阅历了。

上一个阶段结束之后就开始有一些自己的想法,然后就决定自己上手写一个小程序。因为之前刚刚学过OpenCV,对里面人脸识别印象比较深刻,于是接受了ML前辈的意见,自己用Tensorflow写了一个输入照片判断性别的程序。这里面就要涉及到之前学过看过的所有知识,虽然很简单,但也编了整整一周,人脸数据集用的是IMDB WIKI的数据,这个数据集还可以做蛮多事情的,因为数据集里是带有年龄标记的,还可以写判断年龄的程序,是自己上手的不错选择。这同时开始看paper,边看轮子边拆轮子,有时间自己造一些轮子。然后就没有然后了,我也是刚刚走到这一步。

还可以看其他一些工具包的Document,比如Theano,caffe,虽然实现方法都不一样,但还是有很多相似之处的,具体帮助大不大我也说不上来,不妨试一试。


原文链接:https://www.zhihu.com/question/49909565/answer/118465399
| 5
登录后可评论,马上登录吧~
评论 ( 0 )

还没有人评论...