关于TensorFlow九件你非知不可的事
来源 | 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九件你非知不可的事的更多相关文章
- 英文:known good assembly(KGA) / 中文:确认好的组装件,已知好组装件
英文:known good assembly(KGA) / 中文:确认好的组装件,已知好组装件 正确地操作印制板装配,并可作为标准件与其它同类型装配件比较的组装.也称黄金组装.
- ApplicationContext(九)初始化非延迟的 bean
ApplicationContext(九)初始化非延迟的 bean 此至,ApplicationContext 已经完成了全部的准备工作,开始初始化剩余的 bean 了(第 11 步). public ...
- 十件你需要知道的事,关于openstack-trove(翻译)
开源数据库即服务OpenStack Trove应该知道的10件事情 作者:Ken Rugg,Tesora首席执行官 Ken Rugg是Tesora的创始人,CEO和董事会成员. Ken的大部分职业都是 ...
- 安装完Ubuntu 14.04要做的九件事
www.linuxidc.com/Linux/2014-04/100411.htm 1.看看有哪些新特性 安装完之后的第一件事肯定是看看Ubuntu 14.04有哪些新的特性. Ubuntu 14.0 ...
- Extjs DateTime 日期时间选择控件 (非点击日期强制选择) 支持4.0以上
Extjs的日期控件,仅仅能支持到日期选择,对时间的选择并不完好.而网上下载的控件,都是基于Ext.form.dateField 开发.在选中日期后自己主动选择,并隐藏此选择窗体. 在经过一番改造后, ...
- TensorFlow(九):卷积神经网络
一:传统神经网络存在的问题 权值太多,计算量太大 权值太多,需要大量样本进行训练 二:卷积神经网络(CNN) CNN通过感受野和权值共享减少了神经网络需要训练的参数个数. 三:池化 四:卷积操作 五: ...
- JavaScript中你可能不知道的九件事
今天凑巧去W3School扫了一遍JavaScript教程,发现从中看到了不少自己曾经没有注意过的细节. 我这些细节列在这里.分享给可能相同不知道的朋友: 1.使用 document.write() ...
- vue2.0--组件通信(非vuex法)
写在前面: 1.父组件的data写法与子组件的data写法不同 //父组件 data:{ //对象形式 } //子组件 data:function(){ return { //函数形式 } } 2.引 ...
- 聊聊 Spring AOP 的不为常知的“秘事”
Spring AOP 在我们日常开发中扮演了一个非常重要的角色,对于如何使用 AOP 相信很多人已经不陌生,但其中有一些点却容易被我们忽视,本节我们结合一些"不为常知"的问题展开讨 ...
随机推荐
- CSS——NO.3(CSS选择器)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 小程序中,设置Sticky定位,距离上面会有一个缝隙
近日,在小程序中使用sticky定位实现吸顶效果,不料入了一个大坑. 定位后,距离有position: relative:的上级元素有个1px大小的缝隙条,透过缝隙,滑动时可看到定位标题下的内容. 此 ...
- tfgan折腾笔记(二):核心函数详述——gan_model族
定义model的函数有: 1.gan_model 函数原型: def gan_model( # Lambdas defining models. generator_fn, discriminator ...
- CSS 加载动画
CSS加载动画 实现加载动画效果,需要的两个关键步骤: 1.做出环形外观 border:16px solid #f3f3f3; border-radius:50%; border-top:16px s ...
- python复制多层目录下的文件至其他盘符对应的目录中
一.需求 app打包需要打入一些H5进去,以便更快的加载页面.这些H5文件是散落在各个文件夹中的[如下列所示],偶尔各个文件夹还需新增文件,每次新增一个文件,需要改动jenkins上job脚本,比较麻 ...
- ASP.NET CORE 内置的IOC解读及使用
在我接触IOC和DI 概念的时候是在2016年有幸倒腾Java的时候第一次接触,当时对这两个概念很是模糊:后来由于各种原因又回到.net 大本营,又再次接触了IOC和DI,也算终于搞清楚了IOC和DI ...
- ZOJ 4109 Welcome Party
题目链接:(https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370504)(https://vjudge.net/proble ...
- JavaScript常见的六种继承方式
前言 面向对象编程很重要的一个方面,就是对象的继承.A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法.这对于代码的复用是非常有用的. 大部分面向对象的编程语言,都是通过"类 ...
- MySQL数据库无完整备份删库,除了跑路还能怎么办?
1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...
- 【译文连载】 理解Istio服务网格(第六章 可观测性)
全书目录 第一章 概述 第二章 安装 第三章 流控 第四章 服务弹性 第五章 混沌测试 本文目录 第6章 可观测性 6.1 分布式调用链跟踪(tracing) 6.1.1 基本概念 6.1.2 Ja ...