keras 分布式_TensorFlow 2.0正式版官宣!深度集成Keras

36e2f625295f3d1aa7c813e06cc2e4f8.png

  新智元报道  

来源:medium、GitHub

编辑:小芹、大明

【新智元导读】TensorFlow 2.0正式版终于发布了!深度集成Keras,更简单、更易用,GPU训练性能提升。这是一个革命性的新版本,欢迎来到 TensorFlow 2.0!>>> 人工智能改变中国,我们还要跨越这三座大山 | 献礼 70 周年

TensorFlow 2.0正式版终于发布了!

谷歌今天宣布,开源机器学习库TensorFlow 2.0现在可供公众使用。

TensorFlow 2.0的Alpha版本今年初在TensorFlow开发者大会上首次发布,经过近7个月的不断修改、更新,TensorFlow 2.0正式版可谓是千呼万唤始出来。

f7bb5e912c2c11f1d764b4bb85837c31.png

作为最受欢迎的机器学习库之一,自2015年谷歌大脑团队发布TensorFlow以来,TensorFlow框架已被下载超过4000万次。

为了提高易用性,TensorFlow 2.0进行了许多修改,如取消了一些被认为是多余的API,并紧密集成和依赖tf.keras作为中央高级API。TensorFlow与Keras深度学习库的集成化最初始于2017年2月发布的TensorFlow1.0,本次更新让二者的集成程度进一步提高。

此外,当在Nvidia的Volta和Turing GPU上运行时,新版本的性能表现可以提高三倍。

下面,我们带来对TensorFlow 2.0 新特性的具体介绍。

欢迎来到TensorFlow 2.0

TensorFlow 2.0专注于简单性和易用性,主要更新如下:

  • 可使用Keras轻松进行模型构建,可立即执行,直观调试。

  • 在任何平台上的生产中都可以进行稳健的模型部署。

  • 提供强大的研究实验支持。

  • 减少了重复,移除了不建议使用的端点,简化了API。

6dae151158a786705b4bf9b4c7ab8249.png

TensorFlow 2.0使得机器学习应用的开发更加容易。通过将Keras紧密集成到TensorFlow中、默认eager execution,以及Python函数执行,TensorFlow 2.0开发应用程序的经验会让Python开发者很熟悉。对于那些想要突破机器学习边界的研究人员来说,我们在TensorFlow的底层API上投入了大量的精力:我们现在导出了所有内部使用的操作,并且为诸如变量和checkpoint等关键概念提供了可继承的接口。允许用户构建TensorFlow的内部构件,而无需重建TensorFlow。

f5ed3396fd14d65c045a980747607f97.png

能够在各种runtimes(包括云、web、浏览器和Node.js,移动和嵌入式系统)上运行模型,我们对SavedModel文件格式进行了标准化。这允许用户使用TensorFlow运行模型,使用TensorFlow服务部署模型,使用TensorFlow Lite在移动和嵌入式系统上使用模型,使用TensorFlow.js在浏览器或Node.js上训练和运行模型。

对于高性能的训练场景,你可以使用 Distribution Strategy API以最小的代码更改来分布训练,并获得出色的开箱即用性能。它通过 Keras 的 Model.fit 支持分布式训练,还支持自定义训练循环。此外,现在可以使用多GPU支持,Cloud TPU支持将在未来发布。

查看分布式训练指南了解更多:

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

TensorFlow 2.0在GPU上提供了许多性能改进。TensorFlow 2.0通过在Volta和Turing GPU上使用混合精度和几行代码(例如在ResNet-50和BERT中使用的),将训练性能提高了 3 倍。TensorFlow 2.0与TensorRT紧密集成,并使用改进的API在谷歌云上的NVIDIA T4 Cloud GPU上进行推理时提供更好的可用性和高性能。

在TensorFlow中构建模型时,对训练和验证数据的有效访问是至关重要的。我们引入了TensorFlow Datasets,为包含各种数据类型(如图像、文本、视频等)的大量数据集提供了一个标准接口。

虽然仍然保留了传统的基于会话的编程模型,但我们建议使用常规的Python开发和eager execution。tf.function可用于将代码转换成可远程执行的、序列化和性能优化的图形。此外,Autograph还可以将常规的Python控制流直接转换为TensorFlow控制流。

如果你使用过TensorFlow 1.x,这里有一个迁移到2.0的官方指南:

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

TensorFlow 2.0也包括一个自动转换脚本。

我们已经与谷歌内部和TensorFlow社区的许多用户合作,测试了TensorFlow 2.0的功能,并对反馈感到非常兴奋。例如,谷歌新闻团队在TensorFlow 2.0中启用了基于BERT的语言理解模型,从而极大地改进了新闻报道的覆盖率。TensorFlow 2.0提供易于使用的API和快速实现新想法的灵活性,模型训练和服务被无缝地集成到现有的基础架构中。

而且,ML不仅是Python开发者专属—JavaScript开发者可以使用TensorFlow.js进行训练和推理。Swift语言的支持也正在进行中。

 主要特点和功能改进

将Keras作为构建和训练模型的中央高级API。 Keras提供了一些模型构建API,如顺序列化、函数化、子类化以及立即执行(用于立即迭代和直观调试)、tf.data(用于构建可扩展的输入pipeline)等。

更灵活的资源分配策略:TF 2.0用户将可以使用tf.distribute.StrategyAPI,通过最少的代码修正来分配训练策略,从而获得出色的现成性能。TF 2.0支持Keras model.fit以及自定义训练循环的分布式训练,还提供多GPU支持,以及对多工作人员和Cloud TPU的实验性支持。

建议使用函数,而不是会话。TF 2.0不鼓励使用传统的声明式编程模型来构建图形,再通过tf.Session执行,而是建议编写常规Python函数来代替这一过程。使用tf.function装饰器,可以将这些函数转换为图形,这些图形可以远程执行,序列化并针对性能进行优化。

实现tf.train.Optimizers和tf.keras.Optimizers的统一。对TF2.0使用tf.keras.Optimizers。作为公共API删除了compute_gradients,使用GradientTape计算梯度。

AutoGraph将Python控制流转换为TensorFlow表达式,允许用户在有tf.function的函数中编写常规Python语句。AutoGraph也适用于与tf.data,tf.distribute和tf.keras API一起使用的函数。

将交换格式统一为SavedModel。所有TensorFlow生态系统项目(TensorFlow Lite,TensorFlow JS,TensorFlow Serving,TensorFlow Hub)都接受SavedModels。模型状态应保存到SavedModels或从SavedModels恢复。

一些API的更改:部分API符号被重命名或删除,参数名称也已更改。许多更改都是出于提高一致性和清晰性的考虑。TF 1.x版本API在compat.v1模块中仍然可用。

清理了一些API:移除了tf.app,tf.flags和tf.logging以支持absl-py。不再使用如tf.global_variables_initializer和tf.get_global_step之类的辅助方法的全局变量。

自动混合精度图形优化器简化了将模型转换为float 16的过程,更便于在Volta和Turing张量核心上进行加速。可以使用tf.train.experimental.enable_mixed_precision_graph_rewrite()包装优化器类来启用此功能。

添加环境变量TF_CUDNN_DETERMINISTIC。设置为TRUE或“ 1”将强制选择确定性cuDNN卷积和最大池算法。启用此功能后,算法选择过程本身也是确定性的。

这里有一个方便的指南,了解如何有效使用TensorFlow 2.0中的所有新功能:

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

此外,为了简化TensorFlow 2.0的入门工作,官方发布了几个使用2.0 API的常用ML模型的参考实现:

https://www.tensorflow.org/resources/models-datasets

最后,两个免费在线课程不容错过:

https://www.coursera.org/learn/introduction-tensorflow

https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187

官方博客:https://medium.com/tensorflow/tensorflow-2-0-is-now-available-57d706c2a9ab

GitHub:

https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0

更多阅读:

TensorFlow 2.0  新鲜出炉!新版本,新架构,新特性

GitHub 12万星!TensorFlow 2.0 Beta新鲜出炉,最终API已定

TensorFlow已死,TensorFlow万岁!

b6e28ca2308d8b9b212f9c5f0bce70aa.png

bf416c3c7e18ef5a0362c13b505d2a06.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新天龙官网服务器更新消息,新天龙八部怀旧服太火,增开7组服务器不够用,还得继续扩容...

原标题:新天龙八部怀旧服太火,增开7组服务器不够用,还得继续扩容最近《新天龙八部》怀旧服上线的消息,相信各位都有耳闻,作为国产最经典的网游之一,新天龙开怀旧服自然吸引了无数老玩家回归。而且还有很多路…

大疆云台如何使用华为mate20pro_华为Mate30+大疆灵眸Osmo3,让你的照片和短视频称霸朋友圈...

自华为Mate30国内上市以后,短短几天刷爆朋友圈,尤其是Mate30pro现在更是一机难求。华为Mate30pro打造了全球首款4000万像素电影级拍摄手机,华为Mate30pro支持7680帧超慢速摄影,支持4K HDR拍摄,以及双OIS防抖。2019年8月…

c语言int转字符串_C语言零基础入门-指针-05

C语言零基础入门-指针-05本节要点:1,字符指针。2,字符串指针。3,指针的参数传递4,多重指针01. 字符指针这里的定义与前面的基本一样,所谓的字符指针就是这个指针指向的是一个字符型的变量。01.1 单个字符代…

圆平移后的方程变化_平移法解题

提要平面内把一个图形沿着一定的方向移动一定的距离得到另一个图形,这种变换称为平移变换。根据需要,平移的对象可以是线段,直线,角,圆,整个图形等。平移只改变图形的位置,不改变图形的形状和大…

有没有什么方法快速能找到导致软件崩溃的进程_崩溃!电脑突然黑屏无法启动...

Hello!我是爽哥,欢迎你的到来,我会不定期推送关于电脑方面的实用教程及资讯,点击上方蓝色字体公众号名称“爽哥来搞机”关注我,实用干货全部拿走!什么?!为什么我的电脑一直黑屏无法开机了,昨天…

服务器内存会显示ecc么,服务器内存ecc

服务器内存ecc 内容精选换一换设备实时状态查询是检测设备在运行过程中的状态信息。用户可任选以下指令之一查看设备实时状态查询命令的可用参数。ascend-dmi -i -hascend-dmi -i --help各参数解释如表1所示。以查看芯片的详细信息为例。ascend-dmi -i -dt若推理服务器返回如图…

可燃气体浓度多少合格_安燃无恙 | 可燃气体报警器的常见故障处理

说到报警器可能大家都不陌生,在商场、家居住宅、银行等场合都能够看到报警器的存在,而且随着科技的发展还出现了远红外报警器、烟感报警器等多功能报警器。它们不仅被应用在防盗方面还应用在消防领域用于火灾预警,但是今天说的这一种报警器算…

ajax荷马史诗,荷马史诗(8)

《奥德赛》(Odyssey)奥德修斯的希腊文原意是“麻烦”:他既带给别人麻烦,自己也遭遇麻烦《埃阿斯和卡珊德拉》(Ajax and Cassandra)《荷马史诗》里有两个埃阿斯,上图的埃阿斯又称小埃阿斯(Ajax theLesser),特洛伊战争时罗克里斯(Lo…

nacos 本地测试_Nacos注册中心落地实践

前言公司在19年开始推进同城双活架构,未来规划是在南汇机房出现故障时能把所有读流量切到宝山机房,这样至少保证读请求是没问题的;我们的微服务使用的zookeeper来做服务发现, zk由于它的强一致性模型不适合多机房部署, 由于zk的服务发现模型是基于会话机制创建的临时节点, 就算…

python通讯录管理系统 tk_通讯录管理系统课程设计

按照惯例,一波课程设计走起~ 这次写的是通讯录管理系统,经过几番大修和N1次小修之后BUG已经很少了~先来看看期间遇到的哪些问题吧: Qusetion 1:针对手机号的排序问题(即交换结构体) 2:文件写入和…

h5与小程序服务器如何辨别,小程序丨教你六招,快速区分H5页面还是APP页面

限制的H5技术和原生APP的技术很多类似或者实现效果很相像,不仔细去观察,大多人不会察觉两种有何不同。第九程序帮大家整理出比较容易判断的一个APP页面是原生的还是H5页面的方法。希望可以帮到大家,以便更加容易区分H5页面和原生App页面。 一…

蜗轮蜗杆计算软件_正确的组装蜗轮蜗杆减速机至关重要

点 工业传动共享平台”关注置顶引领减速机传动机械前沿、机械视频,汽车、加工技术、3D打印、自动化、机器人、生产工艺、轴承、模具、机床、钣金等行业前沿在这里等你 正确组装蜗轮蜗杆减速机对于公司在任何工业应用中的生产率和盈利能力至关重要。不可避免…

双重差分模型能做固定效应吗_数据分析之道 | 双重差分法(DID)

Picture from InternetDID是什么?双重差分法(DID)又被称为“倍差法”,小名“差中差”,是种专门用于分析政策效果的计量方法。我国最早引入DID方法对公共政策评估的权威文献是周黎安和陈烨(2005),研究税费改革对农民收入增长的影响…

先出报表还是先计提所得税_一道大综合题搞定“与子公司的内部交易合并报表抵销分录”的逻辑...

有小朋友私信问我一道选择题,关于对子公司长期股权投资,存在内部交易时,合并报表抵销分录的问题。在跟她沟通的过程中,我了解到好多同学并不清楚单体报表,和母公司合并报表之间的关系,这导致大家很容易死记…

sql 百分号_SQL思维导图和代码分享

本人SQL新手,五一期间自学了《SQL必知必会》一书,在此简要分享学习心得,若有差错,请各位大佬们多多指教呀!本人的SQL学习计划是先根据《SQL必知必会》一书入门,了解SQL的整体框架,语法等&#x…

java获取字符串第一位_Java程序员经典面试题集大全 (十一)

>>> 学习交流群 < < <111. Java中byte表示的数值范围是什么&#xff1f;答&#xff1a;范围是-128至127112.如何将日期类型格式化为&#xff1a;2013-02-18 10:53:10&#xff1f;public class TestDateFormat2 {public static void main(String[] args) thro…

django开源电子文档管理系统_Python实操技术分享:Django文件管理系统,Apple的学习思路...

一、客户端产品要求有一个更新状态按钮&#xff0c;点击更新数据后会弹出结果页面作用是检查本次读取的文档信息与数据库中文档数据的区别。同时对数据库进行对应的新增和删除操作。然后把最终的数据库信息按行显示出来&#xff0c;包括4列内容文件名&#xff0c;文件路径&…

python打包出现乱码_python解压zip包中文乱码解决方法

乱码得原因&#xff1a; 由于ZipFile模块导出遇到中文解码不对&#xff0c;windows上会出现&#xff0c;linux是否会出现不知道没测试过。 解决方式&#xff1a; 1. 搞个文件名引射表(不太方便&#xff0c;少量文件夹套用时候还可以) 2. 修改源码解码格式(不太方便&#xff0c;…

redis重启命令_请收下这份redis持久化详解

前言Redis支持RDB和AOF两种持久化机制&#xff0c; 持久化功能有效地避免因进程退出造成的数据丢失问题&#xff0c; 当下次重启时利用之前持久化的文件即可实现数据恢复。RDB介绍按指定时间间隔把数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。自动…

python 苹果id申请_如何申请百度机器翻译API的ID和Key,为Python调用做准备

1.打开以下页面&#xff1a; http://api.fanyi.baidu.com/api/trans/product/index 2. 在网页找到“立即使用”并点击&#xff0c;之后&#xff0c;如果要求你登录百度&#xff0c;那就用你已有的百度账号登录&#xff0c;如果没有百度账号&#xff0c;请先申请一个百度账号&am…