关于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 相信很多人已经不陌生,但其中有一些点却容易被我们忽视,本节我们结合一些"不为常知"的问题展开讨 ...
随机推荐
- LeetCode【面试题 16.17. 连续数列】
------------恢复内容开始------------ 题目描述 给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5 ...
- 运输层协议TCP和UDP
运输层协议TCP和UDP 一.用户数据报协议 UDP 1.1.UDP 概述 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能. 虽然 UDP 用户数据报只能提供不 ...
- datatable某列不排序、和自定义搜索、给数据里面加属性
datatable中如果不想对前几列进行排序,使用以下代码: $('#informationList').DataTable({ //对0,1,2列不排序 "columnDefs" ...
- 前端模板引擎doT.js的使用
前言 我们在做前端开发时,经常需要根据后台返回的json数据动态生成html并插入到页面中显示.最简单的方法就是通过jQuery去遍历数据拼接html,如以下: <script> var ...
- 前端每日实战:123# 视频演示如何用纯 CSS 创作一架双冀飞机
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/yxVYRL 可交互视频 此视频是可 ...
- 用mpvue写个玩意儿玩玩
下周公司要搞黑客马拉松了,组里可能会做个小程序.然后看到了mpvue感觉还不错,于是就打算试试水.用vue写小程序听上去美滋滋.那么先开始吧! 全局安装 vue-cli $ npm install - ...
- Vue项目一、node.js和npm的安装和环境搭建
一.为什么安装node.js及npm npm npm是Node.js的包管理工具(package manager),是全球最大的生态系统,同过npm可以找到很多丰富的插件来满足项目的需求. a1.现在 ...
- 【11】openlayers 地图交互
地图交互interaction 关于map的方法: //添加地图交互 map.addInteraction(interaction) //删除地图交互 map.removeInteraction(in ...
- Redis02——Redis内存数据如何保存到磁盘
在前一篇文章中,已经介绍了Redis的基础数据结构,这篇文章将继续介绍Redis的持久化原理. 简介 众所周知Redis的所有数据都存在于内存之中,这就会存在因内存问题而导致的数据丢失,为了避免这一问 ...
- H5页面,输入框的光标,如果页面上下滑动光标停留在页面上,除了输入框外,松手过了一段时间才跑回输入框里面
有点类似这种情况 其中一个博主描述得比较详细,主要还有图 我是直接在App.vue主文件那里添加一下代码,主要是添加一个监听器,如果touchmove的时候就会触发让其失焦,就会消失那个光标,需要再次 ...