1 TensorFlow 2.0 alpha提供即将发生的变化的预览-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

TensorFlow 2.0 alpha提供即将发生的变化的预览

电子工程师 来源:lp 2019-03-10 10:17 次阅读

在今天举行的 2019 年 TensorFlow 开发者峰会上,谷歌宣布了其针对研究和生产的开源机器学习库的一些更新。TensorFlow 2.0 alpha 提供即将发生的变化的预览,旨在让初学者更容易使用 ML。

TensorFlow 2.0 注重易用性,提供有 API 供初学者和资深人士用来创建机器学习模型。在 TensorFlow 2.0 的新功能 和 标准化 Keras 等近期发布的文章中,我们介绍过它的新功能和平台的发展方向。

我们在 TensorFlow 开发者峰会 上宣布了 TensorFlow 2.0 Alpha 版,用户现在可以抢先体验。

注:TensorFlow 开发者峰 链接https://www.tensorflow.org/dev-summit

入门指南

要快速上手 TensorFlow 2.0 Alpha 版,最佳途径是前往 TensorFlow 的新网站。您可以在 tensorflow.org/alpha 上找到 Alpha 版的教程和指南。Alpha 版文档中的每个教程均会自动下载并安装 TensorFlow 2.0 Alpha 版,并且后续将提供更多内容!

注:tensorflow.org/alpha 链接https://www.tensorflow.org/alpha

我们建议您先查看面向初学者和资深人士的 “Hello World” 示例,然后再阅读 Effective TensorFlow 2.0 等指南。

初学者示例 使用的是 Keras Sequential API,这是最简单的 TensorFlow 2.0 入门方法。

资深人士示例 展示如何命令式地编写正向传递、如何使用 GradientTape 编写自定义训练循环,以及如何使用 tf.function 自动编译代码(仅需一行代码!)

注:初学者示例 链接https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/beginner.ipynb

资深人士示例 链接https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/advanced.ipynb

除此之外,我们还提供有各类新 指南,包括:

重要的 AutoGraph 指南(让您能够获得图表的全部性能和可移植性,而无需编写图表级代码)

代码升级 指南(通过转换脚本可以方便地将 TensorFlow 1.x 代码转换为 2.0 代码)

其他有关 Keras 的初期指南

注:指南 链接https://github.com/tensorflow/docs/tree/master/site/en/r2/guide

AutoGraph 链接

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/autograph.ipynb

Kera 链接

https://github.com/tensorflow/docs/tree/master/site/en/r2/guide/keras

若您想要查看更改的内容,也可参阅 API 参考 修订版(现在符号的使用大大减少)。请注意,虽然我们正在积极开发 TensorFlow 2.0,但 tensorflow.org 的落地页仍默认为 1.x 文档。若您打算研究 API 参考,请务必选择合适的 TensorFlow 版本。

注:API 参考 链接

https://www.tensorflow.org/versions/r2.0/api_docs/python/tf

安装

若要安装 Alpha 版,我们建议您创建一个新的虚拟环境并使用 “pip install --upgrade --pre tensorflow” 或 “tensorflow-gpu”(需要 CUDA 10)。我们会较为频繁地更新此版本,添加新功能。您亦可将 “!” 添加至命令 “!pip install --upgrade --pre tensorflow”,在 Colab 中试用。(以上所有教程和指南均会自动安装最新版本)。

注:Colab 链接https://colab.research.google.com/notebooks/welcome.ipynb#recent=true

函数,而非会话

下面我们深入介绍 2.0 中的这两个功能如何协同工作:Eager execution 与 “@tf.function”。

其中一个最明显的变化是,TensorFlow 是 “Eager 优先”,这意味着 op 在调用后会立即运行。在 TensorFlow 1.x 中,您可能会先构图,然后通过 “tf.Session.run()” 执行图的各个部分。TensorFlow 2.0 从根本上简化了 TensorFlow 的使用 — 同样出色的 op,现在却更易理解和使用。

a=tf.constant([1,2])b=tf.constant([3,4])print(a+b)#returns:tf.Tensor([46],shape=(2,),dtype=int32)

TensorFlow 2.0 使用 Keras 作为开发者的核心体验。在 2.0 中,您可以如常使用 Keras,利用 Sequential API 构建模型,然后使用 “compile” 和 “fit”。tensorflow.org 中所有这些熟悉的 “tf.keras” 示例均可在 2.0 中实现 “开箱即用”。

Keras 的 “fit()” 适用于很多情况,但是,需要更高灵活性的开发者现在可以有更多选择。我们来看一下 此示例 中以 TensorFlow 2.0 风格编写的自定义训练循环:

deftrain_one_step(model,optimizer,x,y):withtf.GradientTape()astape:logits=model(x)loss=compute_loss(y,logits)grads=tape.gradient(loss,model.trainable_variables)optimizer.apply_gradients(zip(grads,model.trainable_variables))compute_accuracy(y,logits)returnlossdeftrain(model,optimizer):train_ds=mnist_dataset()step=0loss=0.0forx,yintrain_ds:step+=1loss=train_one_step(model,optimizer,x,y)iftf.equal(step%10,0):tf.print('Step',step,':loss',loss,';accuracy',compute_accuracy.result())returnstep,loss,accuracy

注:此示例 链接

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/autograph.ipynb

此示例采用 Autograd 风格的 GradientTape,并通过优化器手动应用您的梯度。在编写具有复杂内部运作的自定义训练循环(譬如在强化学习中)或进行研究(轻松帮您落实提高优化器效率的新想法)时,这特别有帮助。

“Eager execution” 还有助于调试和监控运行中的代码,您可以使用 Python 调试程序检查变量、层及梯度等对象。在训练循环中,我们使用 “if”、“for” 和 “print()” 等 Python 语句。

一旦代码运行正常,您便会想要获得图表优化和效率。为此,您可以利用装饰器 “@tf.function” 封装 “train”。“tf.function” 中内置 Autograph,因此您无需任何特殊操作便可获取以用图表效率运行的 “if” 或 “for” 子句。

@tf.functiondeftrain(model,optimizer):train_ds=mnist_dataset()step=0loss=0accuracy=0forx,yintrain_ds:#如上所述,包括“if”和“print()”returnstep

这段代码并不会受注释影响,但我们会将其编译到可在 GPU、TPU 上轻松运行的图表中,或将其保存至 “SavedModel” 留待后用。

针对这对代码,尤为有趣之处在于,通过在 “@tf.function” 中封装 “train()”,“train_one_step()”、“compute_loss()” 和 “compute_accuracy()” 也会自动进行转换。您也可选择在 “@tf.function” 中仅封装部分运算,从而获得所需行为。

此外,TensorFlow 2.0 完全支持 Estimator。请参阅新教程,了解提升树和模型理解的相关内容。

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

    关注

    30

    文章

    4779

    浏览量

    68519
  • 机器学习
    +关注

    关注

    66

    文章

    8406

    浏览量

    132557
  • tensorflow
    +关注

    关注

    13

    文章

    329

    浏览量

    60527

原文标题:TensorFlow 2.0 Alpha 版发布啦!

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

收藏 人收藏

    评论

    相关推荐

    了解Davinci预览引擎

    德赢Vwin官网 网站提供《了解Davinci预览引擎.pdf》资料免费下载
    发表于 10-15 09:56 0次下载
    了解Davinci<b class='flag-5'>预览</b>引擎

    TensorFlow是什么?TensorFlow怎么用?

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

    使用TensorFlow进行神经网络模型更新

    使用TensorFlow进行神经网络模型的更新是一个涉及多个步骤的过程,包括模型定义、训练、评估以及根据新数据或需求进行模型微调(Fine-tuning)或重新训练。下面我将详细阐述这个过程,并附上相应的TensorFlow代码示例。
    的头像 发表于 07-12 11:51 395次阅读

    电容两端的电压会发生骤然的变化

    电容两端的电压会发生骤然的变化是一个非常重要的电子学现象,它在许多电子设备和系统中都有着广泛的应用。 电容的基本特性 电容是一种电子元件,它能够存储电荷。电容的基本特性是它的电荷和电压之间的关系,即
    的头像 发表于 07-11 09:47 1396次阅读

    请问ESP32如何运行TensorFlow模型?

    请问ESP32如何运行TensorFlow模型?
    发表于 07-09 07:30

    tensorflow和pytorch哪个更简单?

    PyTorch更简单。选择TensorFlow还是PyTorch取决于您的具体需求和偏好。如果您需要一个易于使用、灵活且具有强大社区支持的框架,PyTorch可能是一个更好的选择。如果您需要一个在
    的头像 发表于 07-05 09:45 845次阅读

    tensorflow和pytorch哪个好

    tensorflow和pytorch都是非常不错的强大的框架,TensorFlow还是PyTorch哪个更好取决于您的具体需求,以下是关于这两个框架的一些关键点: TensorFlow : 发布时间
    的头像 发表于 07-05 09:42 674次阅读

    tensorflow简单的模型训练

    在本文中,我们将详细介绍如何使用TensorFlow进行简单的模型训练。TensorFlow是一个开源的机器学习库,广泛用于各种机器学习任务,包括图像识别、自然语言处理等。我们将从安装
    的头像 发表于 07-05 09:38 625次阅读

    keras模型转tensorflow session

    在这篇文章中,我们将讨论如何将Keras模型转换为TensorFlow session。 Keras和TensorFlow简介 Keras是一个高级神经网络API,它提供了一种简单、快速的方式来构建
    的头像 发表于 07-05 09:36 510次阅读

    如何使用Tensorflow保存或加载模型

    TensorFlow是一个广泛使用的开源机器学习库,它提供了丰富的API来构建和训练各种深度学习模型。在模型训练完成后,保存模型以便将来使用或部署是一项常见的需求。同样,加载已保存的模型进行预测或
    的头像 发表于 07-04 13:07 1475次阅读

    TensorFlow的定义和使用方法

    数据流图,从而简化机器学习模型的构建、训练和部署。自2015年11月开源以来,TensorFlow迅速成为数据科学家、软件开发者以及教育工作者广泛使用的工具,广泛应用于图像识别、自然语言处理、推荐系统等多个领域。本文将深入解读TensorFlow的定义、使用方法,并
    的头像 发表于 07-02 14:14 751次阅读

    富士新一代伺服ALPHA 7S系列—减振控制的创新与应用

    富士新一代伺服ALPHA7S系列实现了减振控制技术的创新,通过精确控制伺服电机运动轨迹和速度变化,降低了机械振动,同时保持高速度、高精度驱动控制,为工业制造提供精准高效的运动控制解决方案。
    的头像 发表于 05-21 13:56 462次阅读
    富士新一代伺服<b class='flag-5'>ALPHA</b> 7S系列—减振控制的创新与应用

    使用电脑上tensorflow创建的模型,转换为tflite格式了,导入后进度条反复出现0-100%变化,为什么?

    使用电脑上tensorflow创建的模型,转换为tflite格式了,导入后,进度条反复出现0-100%变化,卡了一个晚上了还没分析好?
    发表于 03-19 06:20

    基于TensorFlow和Keras的图像识别

    TensorFlow和Keras最常见的用途之一是图像识别/分类。通过本文,您将了解如何使用Keras达到这一目的。定义如果您不了解图像识别的基本概念,将很难完全理解本文的内容。因此在正文开始之前
    的头像 发表于 01-13 08:27 808次阅读
    基于<b class='flag-5'>TensorFlow</b>和Keras的图像识别

    如何使用TensorFlow构建机器学习模型

    在这篇文章中,我将逐步讲解如何使用 TensorFlow 创建一个简单的机器学习模型。
    的头像 发表于 01-08 09:25 965次阅读
    如何使用<b class='flag-5'>TensorFlow</b>构建机器学习模型