干货 | 这些关于 TensorFlow 问题的解答,你不能错过

用 10 周时间,让你从 TensorFlow 基础入门,到搭建 CNN、自编码、RNN、GAN 等模型,并最终掌握开发的实战技能。4 月线上开课, www.mooc.ai 现已开放预约。

作为目前最普及的深度学习框架,TensorFlow 实不必多做介绍。

无论国内外,有相当数量程序员以 TensorFlow 入门深度学习开发,逐步走上职业机器学习工程师的道路。

然而,TensorFlow 有一定的使用门槛。

不管是编程范式,还是数学统计基础,都为非机器学习与数据科学背景的伙伴们带来一定的上手难度,更不要提处理不同任务时需面对的各类算法模型。

在AI慕课学院的TensorFlow课程中,同学们向老师提出了很多问题,比如:

anaconda是否能替代virtualenv? 除了python以外还能使用其他编程语言吗? 关于初始化和计算的运行成功例子?

如果你在入门学习TF的过程中,也有很多类似的疑问,想要得到系统性和细节的解答。我们专程为大家邀请了两位 ThoughtWorks 老师与大家分享新手入门 TensorFlow 容易遇到的一些问题,以及他们的入门经历与使用体验。

新手入门深度学习,选择 TensorFlow 有哪些益处?

佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好。 相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合OpenCV使用,对于新手来说,基本上不折腾个几天是很难搞定的。 其次,基于TensorFlow的教学资源非常多,中英文的都有,这对于新手也是非常有帮助的。 Google做社区非常有一套,在中国有专门的一群人,会在第一时间把Google的开发者相关的进展翻译成中文。 另外,由于有Google背书,TensorFlow从长期演进来看,基本上可以保证这个技术不会昙花一现。 对于一个深度学习新手来说,学习任何一个工具,都有成本,如果刚学会,这个工具就没人用了,这个沉没成本还是很高的。

白发川:TensorFlow分为图和session两个部分。 因为构建和执行在不同的阶段,所以很好的支持了模型的分布式,所以学习TF可以比较好的理解模型的分布式计算。 另外TF支持直接从分布式文件系统,例如HDFS系统读取数据,所以可以说TF是接通机器学习和大数据的一个桥梁。

新人上手 TensorFlow 经常会遇到哪些问题或困难?

佟达:第一个困难应该是来自编程范式的变化。 因为TensorFlow是声明式开发方式,通过Session真正执行程序,这和常见的开发语言编程范式不太一样。 如果是曾经有过函数式编程的Lazy Evaluation经验,接受起来会好一点。 当掌握了基本的TensorFlow操作之后,就要使用TensorFlow做些真正有意义的事情。 这时候的一大困难在于,TensorFlow的报错信息不那么直观,如果执行出错,新手很难从一大堆调用栈中找到有用的信息。

白发川:首选遇到的应该是数学的知识。 TF本身是一个深度学习的框架,和我们常规的程序框架例如Spring,Hibernate之类的框架定位不太一样,会偏向数学部分一点。 例如矩阵计算,求导等,虽然TF已经封装了对应的计算的API,但是我们还是需要知道这些概念性的知识,这样才知道应该用什么API。 其次TF通过图的构建和计算部分分离实现模型的分布式,这一块的理解对初学者来说有时候也不太容易。

能不能讲讲你们当初上手 TensorFlow 的经历?学习过程中都遇到了哪些困难,又是如何解决的?

佟达:我在使用TensorFlow之前,使用过其他一些机器学习/深度学习框架,比如主要用于语音识别的Kaldi,图像识别的Caffe,还有Spark MLlib,DeepLearning4j等。 所以上手TensorFlow并没有带来特别大的困难。 当用TensorFlow做的事情越来越复杂之后,我开始尝试扩展TensorFlow,比如写一些自定义的Op。 在TensorFlow中添加自定义Op需要用C++实现,编译好之后,在Python里面讲动态库链接进来才能使用。 这一过程还是有些复杂,尤其是C++的代码有问题需要调试,需要使用lldb(llvm的debug工具,类似gdb),这对开发这的要求比较高。 另外TensorFlow的编译使用的是Bazel,这是谷歌开源的一个多语言项目管理工具,要想把自定义的Op编译出来,还需要花点时间研究Bazel。 实际上,Google很成功的把TensorFlow封装的很好,开箱即用,然而,框架本身的复杂度还是很高,一旦你想要深入进去,还是需要下很大功夫。

白发川:TF不是我接触的第一个深度学习框架。 我是从大数据做起,到后来的开始用Spark MLlib做开发,也使用过h2o和deeplearning4j这些框架,最后才接触TF的。 所以对于我来说,更多的是学习TF的API设计相关的改变,以及对比其他框架TF做了哪些差异化的地方。 对于API这一块,直接参考TF的Doc就是最好的方法。 不过我可以介绍一下入门到机器学习的经历,我最开始的工作也是和大多数人一样,从事web开发,或者mobile的开发。 所以我的情况应该和大多数人相同,后来我开始接触到机器学习的时候发现和之前的思维差别挺大的。 首先在我们从事一般的像mobile之类的开发的时候,我们并不会关心什么是矩阵的逆,什么是函数的导数,更加不会关心什么是链式求导。 而在机器学习里面,这些都是基础,所以我又重新捡回了大学的线性代数和微积分再次过了一遍。 TF是个深度学习框架,所以使用TF的时候不可避免的要理解什么是隐层,什么是激活函数,激活函数有哪些,以及如何定义损失函数等等这一些概念。 对于这一块我当时除了调研一些书籍外也通过看stanford的一些课程来学习。 当然过程中也和很多同行进行交流和总结,特别是对于调参这一块,除了学习之外更多的需要自己进行实践。

看完这些,你是否在想:一直希望有个老司机能手把手带领入门?这就是一次不容错过的好机会!

当当当,由 ThoughtWorks 两位老师在雷锋网AI慕课学院(mooc.ai)主讲的“TensorFlow & 神经网络算法高级应用班”正在开展ing…向大家系统性地传道解惑。快来和小编一起去课程现场看看~

干货满满:

一言不合就秀代码:

导师贴身指导,及时解答课程疑问:

我们将老师邀请到了学员微信群中,随时为学员解答学习过程中的小问题~

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信技能树

【好书共享】《R for Data Science》的中译版

这本书将教我们如何用R来做数据科学:学习如何将自己的数据导入R中,把它变成最有用的结构,转换,可视化并对数据进行建模。在这本书中,我们会学习数据科学需要实用技能...

1002
来自专栏机器之心

想轻松复现深度强化学习论文?看这篇经验之谈

选自Amid Fish 作者:Matthew Rahtz 机器之心编译 近期深度强化学习领域日新月异,其中最酷的一件事情莫过于 OpenAI 和 DeepMin...

3116
来自专栏AI科技评论

干货 | 论机器学习的可重复性危机

AI 科技评论按:机器学习研究者、Jetpac 的 CTO、《The Public Data Handbook》和《The Big Data Glossary ...

671
来自专栏数据科学与人工智能

【陆勤阅读】PyCon 2014:机器学习应用占据Python的半壁江山

今年的PyCon于4月9日在加拿大蒙特利尔召开,凭借快速的原型实现能力, Python在学术界得到了广泛应用。最近其官方网站发布了大会教程部分的视频和幻灯片,其...

1998
来自专栏AI研习社

我是这样从零开始用深度学习做狗脸识别 iOS App 的

我是一个初创公司的软件工程师。曾经有段时间在谷歌工作,做谷歌财经图表和Multiple inboxes,并主管谷歌地图的业务。最近,我开了一家叫Spring的购...

1182
来自专栏目标检测和深度学习

资源 | OpenAI发布强化学习环境Gym Retro:支持千种游戏

项目链接:https://github.com/openai/retro/tree/develop

402
来自专栏北京马哥教育

2017,最受欢迎的 15 大 Python 库有哪些?

? 近年来,Python 在数据科学行业扮演着越来越重要的角色。因此,我根据近来的使用体验,在本文中列出了对数据科学家、工程师们最有用的那些库。 由于这些库都...

3976
来自专栏AI研习社

这些关于TensorFlow问题的解答,你不能错过

作为目前最普及的深度学习框架,TensorFlow 实不必多做介绍。 无论国内外,有相当数量程序员以 TensorFlow 入门深度学习开发,逐步走上职业机器学...

4246
来自专栏xingoo, 一个梦想做发明家的程序员

白话推荐系统——从原理到实践,还有福利赠送!

之前流水账似的介绍过一篇机器学习入门的文章,大致介绍了如何学习以及机器学习的入门方法并提供了一些博主自己整理的比较有用的资源。这篇就尽量以白话解释并介绍机器学...

1896
来自专栏AI研习社

2017,最受欢迎的 15 大 Python 库有哪些?

AI 研习社按:本文作者为 ActiveWizards 的数据顾问 Igor Bobriakov,林立宏与 Raey Li 编译。 ? Igor Bobriak...

2714

扫描关注云+社区