谷歌于2015年11月发布了全新人工智能系统TensorFlow。该系统可被用于语音识别或照片识别等多项机器深度学习领域,主要针对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。
那么为什么会产生TensorFlow系统,以及谷歌为何将其开源?这个问题可以看雷锋网文章《Google开源TensorFlow系统,这背后都有什么门道?》。
2016年4月14日,Google发布了分布式TensorFlow,版本号为0.8,这是TensorFlow发布之后的比较重大的版本更新。Google的博文介绍了TensorFlow在图像分类的任务中,在100个GPUs和不到65小时的训练时间下,达到了78%的正确率。在激烈的商业竞争中,更快的训练速度是人工智能企业的核心竞争力。而分布式TensorFlow意味着它能够真正大规模进入到人工智能产业中,产生实质的影响。
详情可以阅读雷锋网文章《开源后5个月,Google的深度学习系统都有哪些改变?》。
在2016年6月,TensorFlow发布了新版本的早期版本,版本号为0.9,增加了对iOS的支持。
随着谷歌增加了TensorFlow对iOS的支持,应用程序将能够在更聪明的神经网络功能集成到它们的应用程序,最终使它们更聪明相当能干。具体更新内容可以在《谷歌AI平台发布早期版本,并登陆iOS》中看到。
在2017年1月底,TensorFlow 终于将迎来史上最重大更新:TensorFlow 1.0。Tensorflow它已成为 GitHub 最受欢迎的机器学习开源项目。因其高度普及率,尤其是在 Python 生态圈中,TensorFlow 的功能变化会对全世界的机器学习开发者造成重大影响。
上月初,谷歌公布了 TensorFlow 1.0.0-alpha ,即 TensorFlow 1.0 的第一个“草稿”版本。近日,新的候选版本 TensorFlow 1.0.0-rc0 被发布出来,披露了更多技术细节,标志着我们离 “完全体”的 TensorFlow 1.0 更近一步。
1.0 版本不仅为 TensorFlow 机器学习函数库带来多重升级,而且为 Python 和 Java 用户使用 TensorFlow 做开发降低了难度。另外,新版本的漏洞修补也得到了改善。更有意思的是,由于对 TensorFlow 计算做优化的新编译器,在智能手机上运行基于 TensorFlow 的机器学习 APP 将成为可能。具体更新内容可以看雷锋网(公众号:雷锋网)文章《TensorFlow 1.0 要来了!它将带来哪些革命性变化?》
在2月7日谷歌通过博客正式发布了 TensorFlow Fold,该库针对 TensorFlow 1.0 框架量身打造,可以帮助深度学习开发者根据不同结构的输入数据建立动态的计算图(Dynamic Computation Graphs),简化了模型训练阶段对输入数据的预处理过程,提升了系统的运行效率。这个库的更多信息可以在《谷歌刚发布的深度学习动态计算图工具TensorFlow Fold是什么?》中看到。
<!-- 登录查看 begin --><!-- 登录查看 end -->
</div>
自2015年11月发布以来,谷歌旗下的机器学习开源框架TensorFlow已经在图像识别,大数据分析,语音识别和语义理解,机器翻译等各个领域得到了广泛应用,同时也得到了业内人士的普遍认可,成为了目前最受关注和使用率最高的开源框架之一。
本文将重点整理TensorFlow框架的入门和安装教程。更多关于TensorFlow的深入介绍、应用项目以及各机器学习开源框架之间的对比等内容,请见雷锋网的系列文章。
下面是本文整理的资料内容:
在安装之前,这里先列出一些对TensorFlow给出大略介绍的文章,其中包括一些重要的概念解释,TensorFlow的具体含义和优点,以及TensorFlow的基本工作原理等。
1. 《TensorFlow极速入门》
链接:http://www.leiphone.com/news/201702/vJpJqREn7EyoAd09.html
本文介绍了 graph 与 session 等基本组件,解释了 rank 和 shape 等基础数据结构概念,讲解了一些 variable 需要注意的地方并介绍了 placeholders 与 feed_dict 。最终以一个手写数字识别的实例将这些点串起来进行了具体说明。
2. 《TensorFlow学习笔记1:入门》
链接:http://www.jeyzhang.com/tensorflow-learning-notes.html
本文与上一篇的行文思路基本一致,首先概括了TensorFlow的特性,然后介绍了graph、session、variable 等基本概念的含义,以具体代码的形式针对每个概念给出了进一步的解释。最后通过手写数字识别的实例将这些点串起来进行了具体说明。
需要指出的是,两篇文章覆盖的基础概念不尽相同,并且举例用的代码也不一样。
3. 《TensorFlow入门》
链接:http://www.jianshu.com/p/6766fbcd43b9#
与上面两篇不同,本文简单介绍了 TensorFlow 的含义、优点、安装和基本工作原理之后,直接通过代码示例的方式讲解了 TensorFlow 的简单用法,包括生成三维数据,然后用一个平面拟合它,以及通过 variable 实现一个简单的计数器等。
值得一提的是,以上第二和第三篇分别来自两个系列文章,这两个系列也都是关于 TensorFlow 入门和实践的优秀博客。第二篇的后续文章讲述了卷积神经网络(CNN)模型构建,以及利用 TensorFlow 生成词向量 (Word Embedding) 的具体过程。第三篇则实际上是基于斯坦福大学基于深度学习的自然语言处理课程的学习笔记,该系列其他的文章还讲述了循环神经网络(RNN)和 word2vec 模型等更深入的知识,感兴趣的读者可以从文章的作者页找到更多文章。
上述文章都更倾向于 TensorFlow 的简单介绍了基础用法,但对于TensorFlow具体安装过程的讲述则不够细致。因此这里专门针对TensorFlow的安装过程推荐一篇教程。
4. 《真正从零开始,TensorFlow详细安装入门图文教程!》
链接:http://www.leiphone.com/news/201606/ORlQ7uK3TIW8xVGF.html
上文来自雷锋网小编的亲身实践,真正做到了从零开始,详细介绍了在Linux环境下如何通过pip命令安装TensorFlow框架的完整流程,以及面对一些常见问题的处理办法。值得一提的是,本文在讲解完框架安装之后,还针对Komodo开发环境进行了简单介绍。
经过了以上来自民间的实践教程之后,相信各位读者对TensorFlow的大致情况和具体安装方法已经有了自己的理解。下面对于那些想要更全面和深入地了解TensorFlow的读者,我们推荐几个官方的教程。
5. 谷歌官方入门教程
链接:https://www.tensorflow.org/get_started/
6. 谷歌教程翻译
https://github.com/jikexueyuanwiki/tensorflow-zh
这里谷歌给出的入门教程内容十分丰富,除了最基本的安装、名词解释和代码示例之外,还给出了 API 接口的详细解释和说明。但考虑到内容全是英文,因此雷锋网(公众号:雷锋网)在这里给出了国内志愿者对谷歌内容的中文翻译版,可以为那些英文不好的读者提供参考。
7. TensorFlow中文社区
http://www.tensorfly.cn/
最后我们在这里推荐一个 TensorFlow 的中文社区,该网站几乎可以认为是 TensorFlow 的中文官网,除了上述谷歌官方教程的中文翻译之外,该网站还包括进阶指南、API中文手册、精华文章和TF社区等诸多板块。
作为机器学习领域、尤其是 Python 生态圈最受欢迎的框架平台,TensorFlow 具有许多吸引开发者的优点。其中最显而易见的是谷歌的技术支持和完善的社区(庞大用户群)。这些都为 TensorFlow 的普及打下了基础。但是,开发者需要了解 Tensorflow 在技术上有哪些值得一提的优势,又有哪些不足,以便在处理特定任务时进行工具选择。而这些,必须要在与其他平台、框架的对比中才能凸显。顺便说一句老生常谈的话,没有万能的工具,只有在不同应用场景下最合适的选择。因此,雷锋网整理了介绍 Tensorflow、Caffe、Microsoft Cognitive Toolkit (CNTK)、MXnet、Torch 等平台框架,以及对它们做横向对比的文章,供读者按图索骥。
综合介绍
这部分的文章,对 TensorFlow 和其它主流深度学习框架、平台做了概括性介绍,归纳它们的主要特点。有经验的开发者可跳过。
-
谷歌、微软、OpenAI 等巨头的七大机器学习开源项目 看这篇就够了
对 Tensorflow、DeepMind Lab、Universe、FastText、CNTK、MXNet、SystemML 这七个开源机器学习平台、框架做了介绍。它们都是谷歌、微软、亚马逊、IBM 等国际互联网巨头开发或维护的平台,在一定程度上反应了巨头们的 ML 布局以及研究倾向。
注意:该文章发布时 Facebook 尚未推出 Pytorch。现在看来,Pytorch 是脸书在 ML 领域的关键项目。
地址:http://www.leiphone.com/news/201612/rFVygnQf4WjogJQR.html
-
深度学习——你需要了解的八大开源框架
对 TensorFlow、Torch、Caffe、Theano、Deeplearning4j 等主流开源框架作了简要介绍,总结了它们的核心优势及特点。
地址:http://www.leiphone.com/news/201608/5kCJ4Vim3wMjpBPU.html (来源雷锋网(公众号:雷锋网))
-
对比深度学习十大框架:TensorFlow 最流行但并不是最好
这篇文章翻译自 Medium,同样是对开源框架的综合性介绍。它出自 BEEVA Labs 的数据分析师 Ricardo Guerrero Gomez-Ol 之手,对 TensorFlow、Theano、Keras、Lasagne 等框架和工具做了简要介绍。
地址:http://geek.csdn.net/news/detail/132553
横向对比
-
这几天 AI 圈都在关注的深度学习库评测
整理自香港浸会大学褚晓文教授研究团队的论文。褚教授在论文中对 Caffe、CNTK、MXNet、TensorFlow、Torch 几大工具在 CPU、GPU 平台上的性能表现做了深度评测。该论文一经发表便受到广泛关注,堪称是迄今为止,对上述几个主流深度学习框架最深入、客观的计算性能对比。其研究结果,简明扼要得归纳了这几大平台分别最适合处理何种神经网络任务。雷锋网强力推荐。
地址:http://www.leiphone.com/news/201701/OlEiX6kZLKHVUyW2.html (来源雷锋网)
-
机器学习和深度学习的最佳框架大比拼
这篇文章翻译自 Infoworld,对 TensorFlow、Caffe、CNTK、MXNet、Scikit-learning、Spark MLlib 等几大框架的优缺点进行了点评,以及实践总结。本文针对不同背景、习惯的开发者,提供了平台选择上的建议。
地址:https://news.cnblogs.com/n/562250/
-
TensorFlow 等主流深度学习框架比较分析
这篇文章罗列了 TensorFlow、Theano、MXnet 三者的主要属性和技术规格,做了简明扼要的对比。
地址:http://www.tuicool.com/articles/BVFb6bb
-
Caffe、TensorFlow、MXnet 三个开源库对比
这是国内一名为陈汝丹的开发者的实操心得,对三个框架发表了自己的看法。文章对技术的讨论较为细致,适合做实践参考。
地址:http://chenrudan.github.io/blog/2015/11/18/comparethreeopenlib.html#0-tsina-1-2654-397232819ff9a47a7b7e80a40613cfe1
与其它框架的对比
-
如何评价百度刚刚开源的 Paddle 平台?
2016 年下半年开源的 PaddlePaddle 是百度的诚意之作,或许还是国内诞生的最具重量级的机器学习框架。这篇文章对其做了介绍,并邀请行业人士对 PaddlePaddle 相对于 TensorFlow、Caffe 的优缺点做了简要评论。
地址:http://www.leiphone.com/news/201608/TfDtMfbKkUOEieWm.html(来源雷锋网)
-
应该选择 TensorFlow 还是 Theano?
由于 TensorFlow 与 Theano 有替代关系,两者之间的比较是个相对热门的话题。这是知乎上的问答,直接对比了这两个深度学习框架。
地址:https://www.zhihu.com/question/41907061
补充
-
TensorFlow 与 Apache Spark 结合:雅虎开源“TensorFlowOnSpark”
最后,说到 TensorFlow 就不得不提最近的一个大新闻——“TensorFlowOnSpark”。该框架使得 TensorFlow 兼容于 Apache Spark,能直接获取后者的数据集,为开发者减少大量麻烦。
地址:http://www.leiphone.com/news/201702/XwhHugKHTk86WQso.html
<!-- 登录查看 begin --><!-- 登录查看 end -->
</div>
随着谷歌2015年发布开源人工智能系统TensorFlow,让本就如火如荼的深度学习再添一把火,截至现在,TensorFlow已经历了多个版本演进,功能不断完善,AI开发者也能灵活自如的运用TensorFlow解决一些实际问题,下面雷锋网会对一些比较实用的TensorFlow应用做相关整理,让大家对TensorFlow有理性和感性的双层认知。
TensorFlow在图像识别中的应用
对人类而言,区分画面、图像就如同与生俱来一样简单,例如我们能够轻松的识别老虎与雄狮的区别,但如果把这个问题交给计算机看上去并不简单。
在过去几年里,机器学习在解决这些难题方面取得了巨大的进步。其中,我们发现一种称为深度卷积神经网络的模型在困难的视觉识别任务中取得了理想的效果 —— 达到人类水平,在某些领域甚至超过。下面这篇文章雷锋网(公众号:雷锋网)重点整理了TensorFlow在图像识别中的应用,看计算机如何识别图像。
地址:http://www.csdn.net/article/2015-12-16/2826496
除了认识TensorFlow在图像识别中的应用,关于如何搭建图像识别系统雷锋网也有相关教程:
-
手把手教你用TensorFlow搭建图像识别系统(一)
-
手把手教你用TensorFlow搭建图像识别系统(二)
-
手把手教你用TensorFlow搭建图像识别系统(三)
农场主与TensorFlow的邂逅,AI告诉你一根优秀的黄瓜应该具备什么素质
一根优秀的黄瓜应该具备什么素质?相信这是很多人不可描述的问题,而对于黄瓜农场主而言,同一个品种的黄瓜可以根据颜色、刺、体态等因素分成9类,但分检工作对于人来说恰好是一个枯燥繁琐的过程。
一位日本农场主 Makoto 为解决这一难题,利用TensorFlow制作了一款黄瓜分类机,通过机器就能够完成黄瓜的分类工作,但识别准确率目前只有70%,Makoto 目前正打算使用谷歌的云机器学习(Cloud Machine Learning)平台,来进一步改善他的黄瓜分类机。
地址:http://www.leiphone.com/news/201609/dHgxLbz96OQqVN8z.html(来源雷锋网)
用TensorFlow搭建图像分类器
本文将详细介绍如何通过TensorFlow搭建图像分类器,从安装、优化、编码、和使用等方面手把手教你用TensorFlow搭建图像分类器。
地址:http://www.leiphone.com/news/201702/JdaLcpYO59zTTF06.html
如何使用Tensorflow实现快速风格迁移?
风格迁移(Style Transfer)是深度学习众多应用中非常有趣的一种,如图,我们可以使用这种方法把一张图片的风格“迁移”到另一张图片上,但原始的风格迁移的速度是非常慢的。在GPU上,生成一张图片都需要10分钟左右,而如果只使用CPU而不使用GPU运行程序,甚至需要几个小时。这个时间还会随着图片尺寸的增大而迅速增大,那么能否实现使用Tensorflow实现快速风格迁移?
地址:http://www.leiphone.com/news/201701/tGlVRXWShwe7ffHW.html
运用TensorFlow处理简单的NLP问题
当前互联网每天都在产生大量的文本和音频数据,通过挖掘这些数据,我们可以做一些更加便捷的应用,例如机器翻译、语音识别、词性标注以及信息检索等,这些都属于NLP范畴。而在NLP领域中,语言模型是最基本的一个环节,本文主要围绕语言模型展开,首先介绍其基本原理,进而引出词向量(word2vec)、循环神经网络(RNN)、长短时记忆网络(LSTM)等深度学习相关模型,并详细介绍如何利用 TensorFlow 实现上述模型。
地址:http://blog.csdn.net/frankiegu/article/details/52133763
在TensorFlow中用深度度学习修复图像
生活中经常会遇到图片缺失问题,设计师和摄影师用内容自动填补来补充图像中不想要的或缺失的部分,本文将介绍通过一个 DCGAN 用深度学习进行图像修复。
地址:http://blog.csdn.net/whiteboy1999/article/details/53727376?locationNum=1&fps=1
基于Tensorflow的CNN/CRF图像分割技术
本篇文章验证了卷积神经网络应用于图像分割领域时存在的一个问题——粗糙的分割结果。根据像素间交叉熵损失的定义,我们在简化的场景下进行了模型的训练,并使用后向传播来更新权重。我们使用条件随机场(CRFs)来解决分割结果粗糙的问题,并取得了很好的效果。
地址:https://yq.aliyun.com/articles/67189?spm=5176.8067842.tagmain.47.W3YH1h
利用Docker和阿里云容器服务轻松搭建分布式TensorFlow训练集群
由于在现实世界里,单机训练大型神经网络的速度非常缓慢,这就需要运行分布式TensorFlow集群并行化的训练模型。但是TensorFlow本身只是计算框架,要将其应用在生产环境,还是需要集群管理工具的资源调度,监控以及生命周期管理等能力。
本文将分两个部分介绍如何在阿里云容器服务上玩转TensorFlow训练集群。
第一部分:https://yq.aliyun.com/articles/68337?spm=5176.100239.blogcont60894.15.tOeTKV
第二部分:https://yq.aliyun.com/articles/60894?spm=5176.8067842.tagmain.29.W3YH1h
<!-- 登录查看 begin --><!-- 登录查看 end -->
</div>