来源 | Hackernoon

译者 | Revolver

前些天我参加了7 月24 日在美国旧金山举行的Google Cloud Next 2018 大会,其中的一个演讲What’s New with TensorFlow?),让我耳目一新,印象深刻。 于是于是今天早上呢,我总结了这段讲话里我最喜欢的几个点。总结完以后,我实在想不出有任何理由不与你们分享我的超短摘要(如果你还没看过视频的话——你完全应该看看,演讲者讲得真是太好了)。下面我就把我总结的要点陈列出来。

一. 功能强大的机器学习框架

TensorFlow是一个机器学习框架,如果你拥有大量数据或者正在追求最先进的AI技术:深度学习,那么它可能是你最好的朋友。它不是数据科学领域的瑞士军刀,而更像是工业车床......这意味着如果你想要做的就是根据一个20×2的电子表格作一条回归线,那你可能就应该停止阅读了。

但如果你追求的是更宏大的东西,你应该感到兴奋。TensorFlow已被用于社会生活科学的各个方面,寻找新的行星,通过帮助医生筛查糖尿病视网膜病变来预防失明,并通过提醒当局注意非法砍伐森林活动的迹象来帮助拯救森林。它是AlphaGo和Google Cloud Vision的基础,也是你的最佳选择。TensorFlow是开源的,你可以免费下载并立即开始使用

在TensorFlow的帮助下发现了行星Kepler-90i,这也使得Kepler-90星系成为我们所知道的唯一一个除太阳系外在一颗恒星轨道上有八个行星的系统。超过八个行星的系统还没有被找到,所以我想这意味着我们首先与Kepler-90绑定在一起了。在这里了解更多  。

二. 一个可选的神奇方法

TensorFlow Eager帮我省去很多麻烦。

如果你在过去尝试了TensorFlow最后尖叫着跑开了,因为它迫使你像学者或外星人而不是像开发者那样去写代码,那你现在可以回来了!

TensorFlow EagerExecution使得你可以像纯Python程序员一样与它进行交互:即时编写即时返回以及即时调试,而不再需要在构建那些巨大的图时屏住呼吸。我自己也是一个偏学术的人(而且很可能是一个外星人),但是自从它出现以来我就对TF eager爱不释手。

三. 逐行构建神经网络

Keras + TensorFlow =更快捷的神经网络构建!

Keras的一切都是关于用户友好性和更简单的原型设计,这些是旧版TensorFlow极度缺少的。如果你喜欢面向对象的思维,并且你喜欢一次构建一层神经网络,那么你一定会喜欢tf.keras。在下面的几行代码中,我们创建了一个顺序神经网络。看上去是不是如吹口哨那般轻松。

四. 不仅仅关于Python

好的,我知道你一直在抱怨TensorFlow对Python的狂热。好消息是,TensorFlow不再仅仅适用于Python狂热分子,它现在可以在多种语言上运行,从R到Swift再到JavaScript

五. 你可以在浏览器中执行所有操作

说到JavaScript,你现在已经可以使用TensorFlow.js在浏览器中训练和运行模型。你可以先进入这个酷炫的demo里沉浸一会,当你回来时我还会在这里。

使用TensorFlow.js在浏览器中进行实时人体姿态估计。你可以在这个demo里,打开你的摄像头进行尝试。最好别从椅子上跳起来,¯\ _(ツ)_ /¯不过还是你说了算。

六. 微设备上的精简版本

在博物馆那里看见了一部破旧的机器?是烤面包机吗?TensorFlow Lite版可以帮助你在各种设备上执行你的模型,包括手机和物联网,并且与原始TensorFlow相比,模型推断速度提升了3倍以上。是的,现在你可以在手机上进行机器学习了。在演讲中,劳伦斯做了一件勇敢的事情,在数千人面前用Android模拟器现场演示了图像分类......结果效果非常好。

1.6秒计算时间?可以!检测到香蕉概率超过97%?稳!检测到有卫生纸??好吧,我去过的一些国家确实会把像劳伦斯手上拿的那样的纸张当卫生纸用。

七. 更好的定制化硬件

如果你厌倦了等待CPU倒腾数据训练你的神经网络的过程,那么你现在可以使用专为Cloud TPUs而设计的硬件。T代表Tensor,就像TensorFlow一样......巧合吗?我认为不是,几周前谷歌刚好就发布了TPUs版本3的内测版

八. 新的数据处理管道得到很大改进

你还在那里用numpy折腾什么呢?为了防止你在TensorFlow中处理数据时烦躁到摔键盘走人,TensorFlow提供了tf.data namespace,使得对输入数据的预处理过程更加令人舒适和有效率。tf.data提供了与训练过程同步的快速,灵活且易于使用的数据管道。

九. 不需要从0开始

你知道开始机器学习最无趣的方式是什么吗?那就是面对着编辑器上崭新的空白页面,你没有任何的示例代码。使用TensorFlow Hub将帮助你更高效地发挥软件工程专业的优良传统,即复用他人的代码到自己的代码中。

TensorFlow Hub是一个存放可重用的预训练好的机器学习模型组件的仓库,它们都已经被打包好,一条命令行就可以复用。请自便吧!

再告诉你一件事情,TensorFlow刚刚开通了官方的YouTube频道和博客

以上就是我的总结。

参考链接:

[1]Youtuebe演讲视频What’s New with TensorFlow?:

https://youtu.be/MR7w8ARAS2Y

[2]Get started:

https://www.datacamp.com/community/tutorials/tensorflow-tutorial

[3]寻找行星例子:

https://www.nbcnews.com/mach/video/nasa-s-kepler-telescope-discovered-a-new-exoplanet-with-google-s-help-1121785923978

[4]人体姿态检测demo:

https://storage.googleapis.com/tfjs-models/demos/posenet/camera.html

[5]tf.data namespace:

https://www.tensorflow.org/guide/datasets

[6]Tensorflow Youtube频道:

https://www.youtube.com/channel/UC0rqucBdTuFTjJiefW5t-IQ

[7]Tensorflow 官方博客:https://medium.com/tensorflow

关于TensorFlow九件你非知不可的事的更多相关文章

  1. 英文:known good assembly(KGA) / 中文:确认好的组装件,已知好组装件

    英文:known good assembly(KGA) / 中文:确认好的组装件,已知好组装件 正确地操作印制板装配,并可作为标准件与其它同类型装配件比较的组装.也称黄金组装.

  2. ApplicationContext(九)初始化非延迟的 bean

    ApplicationContext(九)初始化非延迟的 bean 此至,ApplicationContext 已经完成了全部的准备工作,开始初始化剩余的 bean 了(第 11 步). public ...

  3. 十件你需要知道的事,关于openstack-trove(翻译)

    开源数据库即服务OpenStack Trove应该知道的10件事情 作者:Ken Rugg,Tesora首席执行官 Ken Rugg是Tesora的创始人,CEO和董事会成员. Ken的大部分职业都是 ...

  4. 安装完Ubuntu 14.04要做的九件事

    www.linuxidc.com/Linux/2014-04/100411.htm 1.看看有哪些新特性 安装完之后的第一件事肯定是看看Ubuntu 14.04有哪些新的特性. Ubuntu 14.0 ...

  5. Extjs DateTime 日期时间选择控件 (非点击日期强制选择) 支持4.0以上

    Extjs的日期控件,仅仅能支持到日期选择,对时间的选择并不完好.而网上下载的控件,都是基于Ext.form.dateField 开发.在选中日期后自己主动选择,并隐藏此选择窗体. 在经过一番改造后, ...

  6. TensorFlow(九):卷积神经网络

    一:传统神经网络存在的问题 权值太多,计算量太大 权值太多,需要大量样本进行训练 二:卷积神经网络(CNN) CNN通过感受野和权值共享减少了神经网络需要训练的参数个数. 三:池化 四:卷积操作 五: ...

  7. JavaScript中你可能不知道的九件事

    今天凑巧去W3School扫了一遍JavaScript教程,发现从中看到了不少自己曾经没有注意过的细节. 我这些细节列在这里.分享给可能相同不知道的朋友: 1.使用 document.write() ...

  8. vue2.0--组件通信(非vuex法)

    写在前面: 1.父组件的data写法与子组件的data写法不同 //父组件 data:{ //对象形式 } //子组件 data:function(){ return { //函数形式 } } 2.引 ...

  9. 聊聊 Spring AOP 的不为常知的“秘事”

    Spring AOP 在我们日常开发中扮演了一个非常重要的角色,对于如何使用 AOP 相信很多人已经不陌生,但其中有一些点却容易被我们忽视,本节我们结合一些"不为常知"的问题展开讨 ...

随机推荐

  1. 初学qt——提示窗体

    带选择的窗体 QMessageBox::StandardButton rb = QMessageBox::critical(NULL, QString::fromLocal8Bit("提示& ...

  2. 使用Taiko + Gauge进行自动化测试(一)

    目录 初识Taiko 环境安装 尝试Taiko taiko 执行过程 结合Gauge编写用例 使用Gauge 总结 初识Taiko 先来了解一下什么是Taiko:"Taiko是一个免费的开源 ...

  3. 在WPF(core版本)中引用外部字体不可用问题说明

    这几天使用WPF写软件,想引用外部字体,于是下载了字体文件: 然后在App.xaml中添加了如下代码: <FontFamily x:Key="Digital-7 Mono"& ...

  4. 一篇带你看懂Flutter叠加组件Stack

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Stack Stack组件可以将子组件叠加显示,根据子组件 ...

  5. Nginx server name配置子域名二级域名

    绑定子域名到不同目录(子站) 网站的目录结构为 /var/www/html: ├── fx └── blog└── photo html为nginx的默认网站目录. sudo vi /etc/ngin ...

  6. TensorFlow Serving实现多模型部署以及不同版本模型的调用

    前提:要实现多模型部署,首先要了解并且熟练实现单模型部署,可以借助官网文档,使用Docker实现部署. 1. 首先准备两个你需要部署的模型,统一的放在multiModel/文件夹下(文件夹名字可以任意 ...

  7. 为Python安装pip

    Python及操作系统的支持 Python 2.6, 2.7, 3.2, 3.3, 3.4 Unix/Linux, OS X, 以及 Windows   默认包含 Python 2.7.9 及以后的版 ...

  8. Robotutor Scratch3.0 在线编程平台升级啦!

    Robotutor推出的Scratch3.0在线编程平台受到很多编程老师和学员的喜爱,上一个版本我们提供了用户注册,找回密码,个人项目的在线保存和浏览,社区分享评论. 我们根据实际的教学需要,用户角色 ...

  9. vue-autoui自匹配webapi的UI控件

    vue-autoui 是一款基于vue和element扩展的一个自动化UI控件,它主要提供两个控件封装分别是auto-form和auto-grid; 通过这两个控件可以完成大多数的信息输入和查询输出的 ...

  10. 异步编程RxJava-介绍

    前言前段时间写了一篇对协程的一些理解,里面提到了不管是协程还是callback,本质上其实提供的是一种异步无阻塞的编程模式:并且介绍了java中对异步无阻赛这种编程模式的支持,主要提到了Future和 ...