关于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 ...
随机推荐
- redis5.0新特性
1. redis5.0新特性 1.1. 新的Stream类型 1.1.1. 什么是Stream数据类型 抽象数据日志 数据流 1.2. 新的Redis模块API:Timers and Cluster ...
- feh: linux终端下看图片的好工具
1) 普通浏览 $ feh * 可以察看当前目录下的所有图片,以及当前子目录里的所有图片 2) 播放幻灯片 (-D) $ feh -D 2 *.jpg 对所有jpg以幻灯片的方式播放,每两秒放一张 ...
- 【PHP篇】运算及流程控制
算数运算: 1.运算符罗列: 算数运算符:[+].[-].[*].[/].[%].[++].[--] 赋值运算符:[=].[+=].[-=].[*=].[/=].[%=].[.=] 比较运算符:[&g ...
- [MongoDB]Mongo基本使用
[MongoDB]Mongo基本使用: 汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库 ...
- 设置build.gradle打包时自动加时间
在build.gradle中添加以下函数: def releaseTime() { return new Date().format("yyyyMMddHHmm", TimeZon ...
- 课程回顾-Neural Network & Deep Learning
为什么深度学习发展了数据计算算法发展Logistics RegressionNumpyreshape的计算代价很小,所以你不确定数据维度的时候都可以放上一些解决潜在bug的trick做了归一化之后梯度 ...
- NewLife.Redis基础教程
X组件缓存架构以ICache接口为核心,包括MemoryCache.Redis和DbCache实现,支持FX和netstandard2.0!后续例程与使用说明均以Redis为例,各缓存实现类似. Re ...
- 函数式编程之-定义能够支持Partial application的函数
是时候介绍如何在F#中定义函数了,在你没有接触过函数式编程语言之前,你也许会觉得C#/Java的语法已经够丰富了,有什么任务做不了呢?当你读过函数式编程之Currying和函数式编程之Partial ...
- mktemp 命令
Linux mktemp命令用于建立暂存文件. mktemp建立的一个暂存文件,供shell script使用. mktemp命令专门用来创建临时文件,并且其创建的临时文件是唯一的.shell会根据m ...
- SHELL脚本--read命令
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 shell read简介 要与Linux交互,脚本获取 ...