关于深度学习,每个人都有自己的看法。有人说就是炼丹,得个准确率召回率什么的,拿到实际中,问问为什么,都答不上来。各种连代码都没写过的人,也纷纷表示这东西就是小孩堆积木,然后整个大功耗的服务器跑上几天,调调参数。然后每个实验室招生,都说自己是做什么深度学习,机器 学习,大数据分析的,以此来吸引学生。可是可是,他们实验室很可能连一块 GPU 都没有。
小时候,我把两个5号电池连在一块,然后用导线把正负极连起来,在正极的地方接个小灯泡,然后灯泡就亮了,这时候我就会高兴的不行。家里的电风扇坏了,把风扇拆开后发现里边的线断了,接起来后又可以工作了,妈妈觉得我很了不起。其实我就是找到线断了接起来而已。有时候,动手实现是一件很有趣的,也很有成就感的事。深度学习,我想就是这样。我鄙视那些连代码都没写过,一点细节都不懂的人在那里瞎吹。在传统的学科中,比如数学,物理这些基础学科或者建筑,土木这样的基础应用中,也许一个硕士生,博士生苦苦研究很久都比不上他们的导师。但是在深度学习中,很多情况下,学生要比导师会得更多,特别是整天就想着拉项目赚钱,论文都没看过,每天就看那么几 kb 推送的一些老师。
对于像我这样的渣渣来说,深度学习的乐趣不在于推导那么几个公式,而在于你在做情感分析的时候,RMSE小了,准确率高了;你在做机器翻译的时候,英文句子准确地变成了地地道道的中文;在你做行人检测的时候,那个方框准确无误的跟着人移动。。。所以 talk is cheap, show me your code.
项目代码: https://github.com/yongyehuang/Tensorflow-Tutorial
我是从2月份才开始学习 Tensorflow 的,因为去年年底老师才终于肯买一台服务器。总体来说,TensorFlow更新的速度还是比较快的,但是用的是 1.0 版本,7个月过去,出了1.1, 1.2, 现在是 1.3 。 而且每个版本都有不少更新。比较坑的一点是官方文档很不齐全,有些东西虽然能够实现得比较好,但是文档里边一个字都不提,只能自己哭瞎然后继续寻找。下面是我学习过程中做的一些笔记。前面部分主要参考官方教程,后面则是自己在项目中的一些总结。因为时间跨度较大,代码中存在不少版本兼容的问题,可能会出错,但是思路还是没问题的~