2的对应码如何学习比较好?

如何高效的学习 TensorFlow 代码? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="9,667分享邀请回答http://cloc.sourceforge.net v 1.64
T=45.33 s (68.5 files/s, 14956.6 lines/s)
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
C/C++ Header
TypeScript
Bourne Shell
NAnt script
Protocol Buffers
Objective C++
Bourne Again Shell
Javascript
Objective C
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
对于想要学习TensorFlow(以下简称TF)的人,根据目的不同,可以简单分为以下2类:1. 研究学者,仅仅需要TF这个平台实现深度学习算法,无需了解太多底层原理2. 好学的行业内人员(比如我⊙﹏⊙),不仅需要了解算法模型,同时还要熟悉TF平台的原理。在算子、通信、模型优化等方面进行平台的二次开发的人。研究学者:
你们可以考虑使用Keras,python写的深度神经网络库,已经实现了绝大部分神经网络,如:RNN、GRU、LSTM,CNN,Pooling,Full-Connected,以及sigmoid、tanh、Relu、PRelu、SRelu等各种激活函数。并且采用TF/Theano作为后端计算引擎,自己本身拥有一套更高层的API,可以同时跑在TF/Theano平台上。
相对于TF来说,这个学习压力小了很多,我们公司负责算法的同事也是用Keras来写模型,然后我再用TF的API来实现分布式部署。附:开发人员:
对于我们这类人来说,首先需要弄清平台的很多名称、概念、定义,
曾说过TF有太多的Abstraction需要学习。诚然,这加大了我们的学习难度。但是,这也说明Google是想要把这个平台做大做强的,所以才会花时间去设计这一套框架和统一的结构。特别是读了部分源码后,更有这种感触。
那么,具体要怎么开始呢?
极客学院有翻译部分TF的官方文档,对于初步了解Tensor、DAG、Operator、Variable、Device、Optimizer等是帮助的。在看完这些概念后,有一个MNIST的例子程序作为TF的入门。这个样例用一个简单的Softmax实现了手写体数字识别的神经网络,只有一层参数。同时还介绍了Session、tf.placeholder、图的计算等重要概念。
在看完这个样例后,如果理解了DAG和Session,可以继续看用卷积神经网络实现的MNIST,准确率上升到了99%,相对于单层Softmax的92%左右,已经接近目前最高的准确率了。附:
TF v0.8发布了分布式模型,我也研究了将近1个月,才把Seq2seq机器翻译改造成了分布式,但是现在公司不让发布出来ORZ。好消息是,我改写了社区的MNIST分布式程序,并且已经合并到master分支了。所以,如果想要继续学习分布式的话,我建议可以看一下那份代码。比较遗憾的是,极客学院目前没有翻译分布式的教程,所以大家得移步TF官网(貌似被墙了)。
由于分布式的资料较少,我这里简单梳理下概念,大家在官网会看到他们的定义:
TF采用了PS/Worker的结构来定义集群,其中
PS(parameter server):存储variable(模型参数),主要负责参数更新和发放;
Worker:存储operator,主要负责图计算和梯度计算(TF使用Optimizer实现了自动化的梯度计算);
job:由于工作类型不同,用job_name来区分ps和worker
task:对于每个worker来说,具体做什么任务(算什么图)也有可能不同,用task_index区分
device:指具体的CPU/GPU,通常PS绑定到CPU上,Worker绑定到GPU上,各取所长。
syncReplicaOptimizer:同步优化器,其本质仍然是用普通优化器进行梯度计算,但是通过Queue机制和Coordinator多线程协同实现了所有worker的梯度汇总和平均,最终将梯度传回PS进行参数更新。
以上几个概念对于分布式的理解非常重要。当然,想要完全弄懂,还得不断的看文档和源码。源码我推荐几个python目录下非常值得看的基础类定义:
framework/Ops.py:定义了Tensor、Graph、Opreator类等
Ops/Variables.py:定义了Variable类附:最后,欢迎大家Follow我的Github账号:97958 条评论分享收藏感谢收起colah.github.io/, 这几个都是我在学习中遇到的非常nice的blog,有时间读读定会有所收获。8.经典论文及书籍:收集了一些DL的经典论文&书籍,有些杂乱,不过几乎都是经典,各取所需吧。百度云地址:(已删除,内容上有些陈旧了,并且百度云总是封杀链接)。各位有更好的欢迎推荐,我会整理上传。9.几篇原创TF相关文章(持续更新):,,,其中,Python,DL,Tensorflow是重点,其他都是辅助, 自己感觉够用即可,无需深入。学习中遇到困难首先向搜索引擎询问。 更新:添加了三日入门TensorFlow资料,Awesome TensorFlow 更新:更新部分链接以及资源描述 更新:添加了一些推荐资源,序号重新排版,在首部重点推荐了几个教程,方便快速上手 更新:修正一些排版问题,删除百度云链接,增加CS 20SI课程 更新:更新失效的百度云地址 更新:修正笔误,同时加了前言 更新:修正一些笔误 更新:完成了近期更新计划,重新整理了所有内容,同时及时跟进了新的内容 更新:更新了在移动端使用TF的项目笔记,添加了近期更新计划 更新:更新预告 更新:更新了提及的软件版本号,添加了第九部分原创TF相关博文 更新:更新了提及的软件版本号 更新:重新排版,上传了资料 更新:重新排版84251 条评论分享收藏感谢收起如何准备机器学习工程师的面试 ? - 知乎<strong class="NumberBoard-itemValue" title="1被浏览<strong class="NumberBoard-itemValue" title="2,190分享邀请回答1.1K52 条评论分享收藏感谢收起61219 条评论分享收藏感谢收起Powered by后一六码技巧【八、2、0、四、四、六、0、学习~ ~】【后二组选吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:193贴子:
后一六码技巧【八、2、0、四、四、六、0、学习~ ~】
他空间确实有很多技巧每天都在更新,人也经常在线,我请教他问题,他都及时回复了,人很好
贴吧热议榜
使用签名档&&
保存至快速回贴以下试题来自:
单项选择题二号可以从一号身上学习到什么?()A.对风险的把控B.理性C.目标感D.原则性
为您推荐的考试题库
您可能感兴趣的试卷
你可能感兴趣的试题
A.二号的发展潜质值得别人的帮助
B.之前给过别人很多无私的帮助
C.主动寻求别人的帮助
D.主动埋下很多感情债
2.判断题 对3.判断题 对4
A.没有计划性
B.记性不好
C.总是在帮助别人而没有做自己的事
D.一直在看别人工作
5.判断题 对}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信