关于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件事的更多相关文章

  1. 做一个 App 前需要考虑的几件事

    做一个 App 前需要考虑的几件事  来源:limboy的博客   随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...

  2. 【转载】在IT界取得成功应该知道的10件事

     在IT界取得成功应该知道的10件事 2011-08-11 13:31:30 分类: 项目管理 导读:前面大多数文章都是Jack Wallen写的,这是他的新作,看来要成为NB程序员还要不停的自我总结 ...

  3. 安装完CentOS 7 后必做的七件事

    CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...

  4. A/B 测试之前必须要了解的 10 件事

    如今,转化率优化(CRO)已是营销人员必须具备的技能,并且与 ROI 直接挂钩.但是在优化网页的转化率方面又有太多因素要考量,如果你已经不堪其忧,请专心做一件事-- A/B 测试. A/B测试,即你设 ...

  5. 关于Promise:你可能不知道的6件事

    FROM ME : 文章介绍了6个Promise的知识点: 1.then() 返回一个 forked Promise(分叉的 Promise):返回的有两种情况: 2.回调函数应该传递结果:在 pro ...

  6. Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本)

    看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...

  7. 关于Web Worker你必须知道的7件事

    介绍 通过使用Web Worker, 我们可以在浏览器后台运行Javascript, 而不占用浏览器自身线程.Web Worker可以提高应用的总体性能,并且提升用户体验.如果你想在自己的Web应用中 ...

  8. 微信小程序:开发之前要知道的三件事

    前言 微信之父张小龙在年初的那次演讲中曾表示:"我自己是很多年的程序员,我觉得我们应该为开发的团队做一些事情".几个月后,微信正式推出微信应用号(即微信小程序),在互联网中掀起了又 ...

  9. <转>离婚前夜悟出的三件事

    文/铁眼(简书作者)原文链接:http://www.jianshu.com/p/832be4f659a0?utm_campaign=hugo&utm_medium=reader_share&a ...

随机推荐

  1. display: table-cell的实用应用

    概述 之前工作中碰到了一个垂直居中问题,最后通过查资料利用table-cell解决.于是打算总结一下有关table-cell的应用,记录下来,供以后开发时参考,相信对其他人也有用. 参考资料:我所知道 ...

  2. FileZilla 使用笔记

    FileZilla 使用了三年了,一些功能其实还没有主动去发现,这次接着项目忙完的空闲时间整理一下 Tips,提高工作效率,方便以后查阅. 一.好用的功能 1.Site Manager - 站点管理器 ...

  3. Python图像处理库PIL中图像格式转换

    o 在数字图像处理中,针对不同的图像格式有其特定的处理算法.所以,在做图像处理之前,我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现.本文基于这个需求,使用python中的图像处理库PIL ...

  4. 比较empty()与 isset()d的区别

    比较empty()与 isset()的区别 注意:empty()在PHP5.5之前只能检测变量 isset()只能检测变量 两者之间的联系:empty($var) 等价于 !isset($var)|| ...

  5. Python制作二维码和条形码扫描器 (pyzbar)

    条码在生活中随处可见,其可分为三类:一维条码.二维条码.三维条码 一维条码: 我们平时习惯称为条形码.条形码是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条 ...

  6. 一位90后的自述:如何从年薪3w到30w

    作者介绍:90后生人/男/二本本科/世界500强技术主管 1.引言 上海小胖,曾就职于pwc(普华永道)担任TechLeader,带领DS(Data Scientist)团队完成全美医疗保险大数据项目 ...

  7. eslint prettier editrorconfig - 写出干净的前端代码

    FConfidence 关注 2018.12.30 02:38* 字数 2912 阅读 195评论 0喜欢 0 VSCode 插件安装 Prettier - Code Formatter ESLint ...

  8. asp.net core mvc上传大文件解决方案

    默认上传文件大小不超过30M 第一个问题: IIS 10.0 详细错误 - 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 服务器上的请求筛选被配置为拒绝该请求 ...

  9. 自动化运维Ansible安装篇

    Ansible自动化工具之--部署篇 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了 ...

  10. 解决 Nginx 400 Bad Request 问题(WebSocket)

    400 Bad Request 是一种 HTTP 错误状态码.HTTP/1.1 对 400 Bad Request的定义主要是: 语义有误,当前请求无法被服务器理解 请求参数有误 丢包导致异常 Goo ...