关于TensorFlow你需要了解的9件事
关于TensorFlow你需要了解的9件事
https://mp.weixin.qq.com/s/cEQAdLnueMEj0OQZtYvcuw
摘要:本文对近期在旧金山举办的谷歌 Cloud Next大会上有关TensorFlow的一些特点进行了总结。
1、它是一个强大的机器学习框架
TensorFlow是一个基于数据流图的机器学习框架,它是Google Brain的第二代机器学习系统,常被应用于各种感知、语言理解、语音识别、图像识别等多项机器深度学习领域。Tensor(张量)代表了N维数组,Flow(流)代表了基于数据流图的计算。
如果你有足够多的数据,而且正处在人工智能的深度学习、神经网络、高级人工智能的阶段,那么它可能就会成为你最好的帮手了。TensorFlow不是一个工具,而是一个框架,假如你想通过20×2的电子表格返回一条回归线,那么现在你可以停止学习开始使用了。
当你想要得到的成就比较高端宏大,那么你就一定会兴奋了,TensorFlow已经被应用在太空领域来寻找新的行星,可以通过帮助医生筛查糖尿病视网膜病变来预防失明,而且还可以通过警告非法砍伐森林的活动来帮助拯救森林。AlphaGo和Google Cloud Vision建在了TensorFlow上面,这是你需要关注的。另外,TensorFlow是开源的,大家可以免费下载并随时使用。
在TensorFlow的帮助下发现的系外恒星Kepler-90i,使得KePLer-90星系成为我们已知唯一的太阳系外的,并且有八颗行星围绕着它不停运行的星系。还没有任何其它的星系有超过八颗行星。
- TensorFlow 下载地址:
https://www.tensorflow.org/install/
- TensorFlow 初始教程:
https://www.datacamp.com/community/tutorials/tensorflow-tutorial
2、方法是可选的
如果你之前曾经尝试使用过TensorFlow,然后就被吓得没再用了。因为它逼的你像一个学术研究者一样,而不是像一个开发者那样,不过目前,有了更多的选择,所以就赶紧回来继续用吧。
TensorFlow eager execution可以让你像一个Python程序员那样与系统进行交互:所有的即时编码和调试都是按行执行的,而不是像其它语言那样编写大段的程序代码块令人畏惧。我是一个学术研究的人,但我从一开始就喜欢上了TensorFlow eager execution,因此就尽快开始用吧。
3、支持逐行构造神经网络
Keras + TensorFlow = 便捷构建神经网络
Keras是一个基于TensorFlow的深度学习库,它由纯Python编写而成,其特点是对用户友好的,并且能够提供简易和快速的原型设计,这对一些低版本的TensorFlow会有更多的帮助。如果你喜欢面向对象的思维方法,并且更愿意一次构建一层神经网络,那么你就会彻底喜欢上TensorFlow.keras。在下面几行的代码中,我们创建了一个连贯的神经网络,并带有好似走了音的标准铃声和口哨声。
4、不仅仅是Python
可能你现在一直在抱怨TensorFlow对Python的偏执。现在好了,TensorFlow不再仅仅针对Python的开发人员了。它现在支持运行在多种语言环境中,从R到Swift再到JavaScript,所支持的语言请见下图:
5、可以在浏览器中做任何事情
提到JavaScript,你可以用TensorFlow.js在浏览器中训练和执行模型。
利用TensorFlow.js在浏览器中进行实时人体姿态评估。打开你的相机,并请看这个示例。
6、给微型设备一个简单的版本
TensorFlow Lite 可以让模型在各种设备中执行,个人电脑或者服务器的单个或多个CPU或GPU上,甚至是移动设备和物联网(IoT)上。TensorFlow会给你带来超过原来3倍的性能,它对线程、队列和异步计算具有很好的支持,最大程度的利用现有可用的硬件,可以自由的将TensorFlow数据流图中计算元素分配到不同的设备上,让TensorFlow来处理副本。现在你就可以在Raspberry Pi电脑或手机上开始机器学习了。在大会上的演讲中,劳伦斯做了一件勇敢的事情,在成千上万的人面前,通过在一个Android仿真模拟器上进行了图像分类,的确效果不错。
7、专业设备更好一些
如果你厌倦了一直等待CPU完成用提供的数据来训练神经网络的工作,那么你现在就可以用Cloud TPUs给这项工作专门设计的硬件了。就在几周前,谷歌在Alpha平台上发布了第3代的TPU(张量处理单元),它是一个专门为机器学习和TensorFlow定制的ASIC(集成电路芯片技术)。TPU是一个可编程的人工智能加速器,提供高吞吐量的低精度计算(如8位),面向使用或运行模型而不是训练模型。
8、新的数据管道提高显著
你现在在数据管道方面还在用numpy吗?假如你想用TensorFlow的话,目前tf.data namespace可以使你在TensorFlow的输入处理上更具表现力。tf.data可以为您提供快速、灵活、易于使用的数据管道,同时还提供同步的训练。
9、你不需要从头开始
都知道从头开始机器学习不是什么有趣的方式。打开编辑器,里面只有一个空白的新页面,也没有实例代码。这时候,你可以使用TensorFlow Hub,就可以继续一个比较古老的习惯,就是用别人的代码来帮助自己编写代码,并称之为是你自己的代码。
文章原标题《9 Things You Should Know About TensorFlow》
关于TensorFlow你需要了解的9件事的更多相关文章
- 做一个 App 前需要考虑的几件事
做一个 App 前需要考虑的几件事 来源:limboy的博客 随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...
- 【转载】在IT界取得成功应该知道的10件事
在IT界取得成功应该知道的10件事 2011-08-11 13:31:30 分类: 项目管理 导读:前面大多数文章都是Jack Wallen写的,这是他的新作,看来要成为NB程序员还要不停的自我总结 ...
- 安装完CentOS 7 后必做的七件事
CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...
- A/B 测试之前必须要了解的 10 件事
如今,转化率优化(CRO)已是营销人员必须具备的技能,并且与 ROI 直接挂钩.但是在优化网页的转化率方面又有太多因素要考量,如果你已经不堪其忧,请专心做一件事-- A/B 测试. A/B测试,即你设 ...
- 关于Promise:你可能不知道的6件事
FROM ME : 文章介绍了6个Promise的知识点: 1.then() 返回一个 forked Promise(分叉的 Promise):返回的有两种情况: 2.回调函数应该传递结果:在 pro ...
- Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本)
看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...
- 关于Web Worker你必须知道的7件事
介绍 通过使用Web Worker, 我们可以在浏览器后台运行Javascript, 而不占用浏览器自身线程.Web Worker可以提高应用的总体性能,并且提升用户体验.如果你想在自己的Web应用中 ...
- 微信小程序:开发之前要知道的三件事
前言 微信之父张小龙在年初的那次演讲中曾表示:"我自己是很多年的程序员,我觉得我们应该为开发的团队做一些事情".几个月后,微信正式推出微信应用号(即微信小程序),在互联网中掀起了又 ...
- <转>离婚前夜悟出的三件事
文/铁眼(简书作者)原文链接:http://www.jianshu.com/p/832be4f659a0?utm_campaign=hugo&utm_medium=reader_share&a ...
随机推荐
- 前端切图神器-cutterman
之前我写过一篇关于前端切图的博客:https://www.cnblogs.com/tu-0718/p/9741058.html 但上面的方法在切图量大时依然很费时间,下面向大家推荐这款免费切图神器 c ...
- java中this的N种使用方法
this可能是几乎所有有一点面向对象思想的语言都会引用到的变量,java自然不例外.只是,this有多少种用法,我也不知道了,让我们来see see. 由简入奢! 易. 来个例子说明下: public ...
- 原生Ajax GET+POST请求无刷新实现文本框用户名是否被注册
实现Ajax需要使用一个核心对象XMLHttpRequest XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页.当页面全部加载完毕后,客户端通过该对象向服务器请求 ...
- 关于常用的编码工具如何引入jar包
myeclipse和eclipse(差不多)引入jar包: 普通项目: 1.对准你的项目创建一个文件夹名字尽量命名成lib(注意要和src平级,不要在src下创建文件夹). 2.将下载好的依赖放到li ...
- knn算法的c语言实现
最近研究KNN,找到了一些优秀的源码,贴出来,做个笔记吧. #include<stdio.h> #include<stdlib.h> #include<math.h> ...
- 浅谈React16框架 - Fiber
前言 React实现可以粗划为两部分:reconciliation(diff阶段)和 commit(操作DOM阶段).在 v16 之前,reconciliation 简单说就是一个自顶向下递归算法,产 ...
- jsp fmt页面显示value does not support runtime expressions
最近使用Struts2+Spring3+Mybatis3做一个项目,在用户修改页面显示生日, <fmt:formatDate value="${user.birthday}" ...
- DRDS SQL 审计与分析——全面洞察 SQL 之利器
背景 数据库存储着系统的核心数据,其安全方面的问题在传统环境中已经成为泄漏和被篡改的重要根源.而在云端,数据库所面临的威胁被进一步的放大.因此,对云数据库的操作行为尤其是全量 SQL 执行记录的审计日 ...
- Hadoop YARN架构设计要点
YARN是开源项目Hadoop的一个资源管理系统,最初设计是为了解决Hadoop中MapReduce计算框架中的资源管理问题,但是现在它已经是一个更加通用的资源管理系统,可以把MapReduce计算框 ...
- 第9章 Linux进程和信号超详细分析
9.1 进程简单说明 进程是一个非常复杂的概念,涉及的内容也非常非常多.在这一小节所列出内容,已经是我极度简化后的内容了,应该尽可能都理解下来,我觉得这些理论比如何使用命令来查看状态更重要,而且不明白 ...