0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow 2.0马上要来了,还不速来了解下新架构?

DPVg_AI_era 来源:lq 2019-01-16 08:45 次阅读

TensorFlow 2.0马上要来了,还不速来了解下新架构?

作为全球最受欢迎的机器学习开源框架,在TensorFlow 发展的3年里,见证了机器学习和人工智能领域的快速发展和变化;与人类的孩子一样,不断学习,遭到批评,遇到对手,走向更大、更广阔的环境。

而TensorFlow 2.0作为一个重要的里程碑,将更加关注其“易用性”,更注重使用的低门槛,旨在让每个人都能应用机器学习技术。

那么在架构方面,又会有何不同呢?话不多说,来看下新架构图:

在过去的几年中,开发团队为TensorFlow添加了许多组件,而在2.0版本中,这些组件将被打包成一个综合平台,可支持机器学习的工作流程(从训练到部署)。正如上图所示。

尽管新架构中的训练部分主要关注Python API,但是TensorFlow.js还支持训练模型。其他语言绑定(language binding)也有不同程度的支持,包括Swift、R和Julia等。

最近,官方宣布Keras作为一个用户友好的机器学习API标准,将成为用于构建和训练模型的高级API。 Keras API让用户可以轻松开始使用TensorFlow。尤其重要的是,Keras提供了几个模型构建API(顺序,功能和子类),因此您可以为项目选择正确的抽象级别。

Keras API使得上手TensorFlow非常容易。重要的是,Keras提供了几个模型构建API(Sequential、Functional以及Subclassing),因此用户可以选择正确的抽象化(abstraction)级别,TensorFlow的实现包含增强功能,包括eager execution、立即迭代(immediate iteration)和直观调试(intuitive debugging),以及tf.data,用于构建可扩展的输入pipeline。

TensorFlow的实现包含增强功能,包括急切执行,立即迭代和直观调试,以及tf.data,用于构建可扩展的输入管道。

以下是一个工作流程示例:

1、使用tf.data加载数据。使用输入管道读取训练数据,输入管道使用tf.data创建。利用tf.feature_column描述特征,如分段和特征交叉。此外还支持内存数据的便捷输入(如NumPy)。

2、使用tf.keras构建、训练并验证模型,或者使用Premade Estimators。Keras与TensorFlow的其余部分紧密集成,因此用户可以随时访问TensorFlow的函数。如线性或逻辑回归、梯度上升树、随机森林等也可以直接使用(使用tf.estimatorAPI实现)。如果不想从头开始训练模型,用户也可以很快利用迁移学习来训练使用TensorFlow Hub模块的Keras或Estimator模型。

3、快速执行运行和调试过程,然后使用tf.function充分利用图形的优势。在默认情况下,TensorFlow 2.0按快速执行方式运行,以便于顺利调试。此外,tf.function注释可以方便地将Python程序转换为TensorFlow图形。此过程保留了1.x TensorFlow基于图形的执行的所有优点:性能优化,远程执行以及方便序列化、导出和部署的能力,同时实现了在Python中表达程序的灵活性和易用性。

4、使用分布式策略进行分布式训练。对于大型机器学习训练任务,分布式策略API可以轻松地在不同硬件配置上分配和训练模型,无需更改模型的定义。由于TensorFlow支持各种硬件加速器,如CPUGPU和TPU,因此用户可以将训练负载分配到单节点/多加速器以及多节点/多加速器配置上(包括TPU Pod)。这个API支持多种群集化配置,也提供了在本地或云环境中部署Kubernetes群集训练的模板。

5、导出到Saved Model。TensorFlow将对Saved Model进行标准化,作为TensorFlow服务的一部分,他将成为TensorFlow Lite、TensorFlow.js、TensorFlow Hub等格式的可互换格式。

构建模型,如此简单!

TensorFlow始终为生产提供了直接部署方式。无论是部署在服务器、边缘设备还是Web上,TensorFlow都可以让用户对模型实现轻松训练和部署。无论用户使用何种语言或平台。在TensorFlow 2.0中,我们通过标准化互换格式和API对齐来提高跨平台和组件的兼容性。

训练并保存模型后,可以直接在应用程序中执行,也可以使用其中一个部署库为其提供服务:

TensorFlow服务:TensorFlow库,允许通过HTTP / REST或gRPC /协议缓冲区提供模型。

TensorFlow Lite:TensorFlow针对移动和嵌入式设备的轻量级解决方案提供了在AndroidiOS嵌入式系统(如Raspberry Pi和Edge TPU)上部署模型的功能。

TensorFlow.js:允许在JavaScript环境下部署模型,如在Web浏览器或服务器端通过Node.js实现部署。TensorFlow.js还支持使用类似Keras的API在JavaScript中定义模型并直接在Web浏览器中进行训练。

TensorFlow还支持其他语言,包括C,Java,Go,C#,Rust,Julia,R等。

功能强大的面向研究的实验环境

TensorFlow 2.0集成了许多功能,可以在不损失速度和性能的情况下定义和训练最先进的模型:

Keras Functional API和Model Subclassing API:可以创建复杂的拓扑,包括使用残差层,自定义多输入/输出模型以及强制写入的前向传递。

自定义训练逻辑:使用tf.GradientTape和tf.custom_gradient对梯度计算进行细粒度控制。

为了获得更大的灵活性和可控性,低级的TensorFlowAPI是始终可用的,并可与更高级的抽象概念工具结合使用,以实现完全可定制的逻辑。

TensorFlow 2.0带来了一些新增功能,允许研究人员和高级用户进行实验,使用丰富的扩展,如Ragged Tensors,TensorFlow Probability,Tensor2Tensor等。

除了这些功能外,TensorFlow还提供了易于执行的简单原型设计和调试,分布式策略API和AutoGraph,可以进行大规模训练,并支持TPU,这些都使TensorFlow 2.0成为一个易于使用、可定制且高度可扩展的平台,可用于实现最先进的技术,进行机器学习研究,并将研究转化为生产流程。

TensorFlow 1.x和2.0之间的差异

自从首次开源TensorFlow以来,我们已经发布了多个版本的API迭代。随着机器学习的快速发展,现在TensorFlow已经发展壮大,支持多样化的用户组合,可以满足各种需求。使用TensorFlow 2.0,用户有机会根据语义版本控制来实现平台的清理和模块化。

以下是一些较大的变化:

移除了队列运行器以支持tf.data。

移除了图表集合。

变量处理方式的变化。

可对API符号进行移动和重命名

更高的兼容性和连续性

为了让用户向TensorFlow 2.0的迁移更加容易,我们将发布一个转换工具,它可以对TensorFlow 1.x Python代码进行更新,以使用TensorFlow2.0兼容的API,或者对无法自动转换的代码予以标记。

当然,并非所有的更改都可以完全自动完成。比如,某些已被弃用的API没有直接的可替代对象。所以我们引入了tensorflow.compat.v1兼容性模块,该模块保留了对完整TensorFlow 1.x API(不包括tf.contrib)的支持。该模块将在整个TensorFlow 2.x的生命周期内保持维护,并允许使用TensorFlow 1.x编写的代码维护功能。

此外,Saved Model或保存的GraphDefs将向后兼容。使用1.x版本保存的SavedModels将继续能够在2.x中加载和执行。但是,2.0中的原始检查点中的变量名称可能会发生更改,因此,使用已转换为2.0版本代码中的2.0之前版本的检查点可能无法正常工作。

我们相信,TensorFlow 2.0将为开发者社区带来巨大利益,为了让这次版本转换变得尽量简单方便,我们投入了大量精力。

但是,我们也认识到,版本迁移需要时间,我们非常关心社区成员目前对学习和使用TensorFlow的投入。我们将在最后的1.x版本中提供12个月的安全补丁,以便为现有用户提供充足的时间进行过渡,并顺利获得TensorFlow2.0的所有优势。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加速器
    +关注

    关注

    2

    文章

    795

    浏览量

    37741
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132395
  • tensorflow
    +关注

    关注

    13

    文章

    328

    浏览量

    60490

原文标题:【官方发布】一图看懂TensorFlow 2.0新架构

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google开发的一个开源深度学习框架,它允许开发者方便地构建、训练和部署各种复杂的机器学习模型。TensorFlow凭借其高效的计算性能、灵活的架构以及丰富的工具和库,在学
    的头像 发表于 07-12 16:38 568次阅读

    keras模型转tensorflow session

    和训练深度学习模型。Keras是基于TensorFlow、Theano或CNTK等底层计算框架构建的。TensorFlow是一个开源的机器学习框架,由Google Brain团队开发。它提供了一种灵活
    的头像 发表于 07-05 09:36 455次阅读

    【议题征集】2024 Hong Kong RISC-V Day 来了

    提供了一个突破传统束缚、实现自主创新的绝佳平台。同时,随着通用人工智能技术的不断进步,与RISC-V架构结合的潜力巨大,为国产信创产业带来了新的增长点。此外,安全性
    的头像 发表于 07-05 08:36 451次阅读
    【议题征集】2024 Hong Kong RISC-V Day <b class='flag-5'>来了</b>!

    FHT4644国产替代必然性崛起你还不来了解一下芯片这些事吗

    FHT4644国产替代必然性崛起你还不来了解一下芯片这些事吗 国产芯片崛起,让国内发展环境变得更加稳定,国产芯片FHT4644通过性能实验测试,更高效。实验室常温条件下,实测数据,输出电流Iout
    发表于 06-24 17:38

    车路云协同,这次它真的来了吗?

    随着科技的快速发展,“车路云协同”正在悄然发生变化。我们离科幻电影《机械公敌》中威尔•史密斯驾驶的汽车能准确甄别交通状况并调整行驶状态的时代就要来了吗?背景说明“车路协同”已经不是什么新鲜名词
    的头像 发表于 06-13 08:25 465次阅读
    车路云协同,这次它真的<b class='flag-5'>来了</b>吗?

    OpenAI的AI搜索也要来了,但我们需要这么多AI搜索么

    OpenAI要做AI搜索挑战谷歌这件事已经传了很久,传说中的SearchGPT似乎真的要来了。据软件开发者TiborBlaho爆料,OpenAI的AI搜索产品Sonic-SNC(SearchGPT
    的头像 发表于 05-10 08:05 348次阅读
    OpenAI的AI搜索也<b class='flag-5'>要来了</b>,但我们需要这么多AI搜索么

    腾讯突然宣布,微信鸿蒙版要来了

    应用,仅支持鸿蒙内核和系统的应用,被称为 “纯血鸿蒙”而备受关注, 这意味着, 真正的国产手机操作系统要来了 ,而且影响力惊人, 一上线就是仅次于 Android 和 iOS 之后的全球第三大手机操作系统
    发表于 04-30 19:34

    苹果折叠屏iPhone新专利获批 苹果折叠屏手机要来了吗?

    苹果折叠屏iPhone新专利获批 苹果折叠屏手机要来了吗? 我们看到苹果公司折叠屏iPhone专利已经获批;果粉都在期待的苹果折叠屏手机要来了吗?新专利也显示苹果已经找到了提升折叠屏耐用耐摔性的方法
    的头像 发表于 04-17 17:05 1270次阅读

    陶瓷电容为什么会老化?戳进来了解下

    电器老化是普遍现象,受环境因素影响,如温度、湿度、电压和电流等。陶瓷电容作为电路重要部分,其老化会影响电路稳定性和可靠性。要及时更换快到使用期限的陶瓷电容,避免影响整个电路性能。
    的头像 发表于 03-26 09:28 307次阅读
    陶瓷电容为什么会老化?戳进<b class='flag-5'>来了解下</b>

    陶瓷电容为什么会老化?戳进来了解下

    电器老化是普遍现象,受环境因素影响,如温度、湿度、电压和电流等。陶瓷电容作为电路重要部分,其老化会影响电路稳定性和可靠性。要及时更换快到使用期限的陶瓷电容,避免影响整个电路性能。
    的头像 发表于 03-26 09:28 468次阅读
    陶瓷电容为什么会老化?戳进<b class='flag-5'>来了解下</b>

    基于TensorFlow和Keras的图像识别

    ,让我们先花点时间来了解一些术语。TensorFlow/KerasTensorFlow是GoogleBrain团队创建的一个Python开源库,它包含许多算法和模型
    的头像 发表于 01-13 08:27 766次阅读
    基于<b class='flag-5'>TensorFlow</b>和Keras的图像识别

    小米SU7性能细节来了

    小米SU7性能细节来了!这是一台没有过度设计的车,一切都刚刚好,很完整。
    的头像 发表于 12-28 16:12 1210次阅读
    小米SU7性能细节<b class='flag-5'>来了</b>!

    华为黑科技充电车要来了

    ”期待的外观。在这款充电车上,你将看到配备有直流和交流充电枪,它们巧妙地隐藏在电子交互屏幕下方的收纳箱两侧。 据百能云芯电.子元器.件商.城了解,这辆充电车身上布满了各种超声波雷达,令人瞩目的是车顶的构造,有望搭
    的头像 发表于 12-18 16:11 567次阅读

    GNSS技术为自动驾驶带来了什么?

    GNSS技术为自动驾驶带来了什么?
    的头像 发表于 12-04 17:44 489次阅读

    无需电流采样电阻的智能电机驱动IC,不来了解一下么?

    无需电流采样电阻的智能电机驱动IC,不来了解一下么?
    的头像 发表于 11-30 17:43 433次阅读
    无需电流采样电阻的智能电机驱动IC,不<b class='flag-5'>来了解</b>一下么?