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。请参阅新教程,了解提升树和模型理解的相关内容。

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

    关注

    30

    文章

    4554

    浏览量

    66736
  • 机器学习
    +关注

    关注

    66

    文章

    8116

    浏览量

    130546
  • tensorflow
    +关注

    关注

    13

    文章

    313

    浏览量

    60242

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    采用AD604级联方式放大小信号,输入信号频率发生变化时输出信号幅度也发生变化的原因?

    大家好,麻烦问一个问题,希望得到解答: 1、我采用AD604级联方式放大小信号,但是我发现我的输入信号频率发生变化时,我的输出信号幅度也发生变化。。604的-3DB是40MHZ的啊,好无奈。大神帮忙看看 希望得到解答。
    发表于 11-21 07:03

    智能小车设计指导_第二版_预览

    电子发烧友网站提供《智能小车设计指导_第二版_预览版.pdf》资料免费下载
    发表于 11-03 14:15 3次下载
    智能小车设计指导_第二版_<b class='flag-5'>预览</b>版

    PyTorch与TensorFlow的优点和缺点

    转载自:冷冻工厂   深度学习框架是简化人工神经网络 (ANN) 开发的重要工具,并且其发展非常迅速。其中,TensorFlow 和 PyTorch 脱颖而出,各自在不同的机器学习领域占有一席之地
    的头像 发表于 10-30 09:56 498次阅读
    PyTorch与<b class='flag-5'>TensorFlow</b>的优点和缺点

    Alpha半透明图像叠加设计

    Alpha 通道**是一个 **8 **位的灰度通道,该通道采用** 2^8 = 256 **级灰度来记录图像中的透明度信息
    的头像 发表于 10-09 10:42 384次阅读
    <b class='flag-5'>Alpha</b>半透明图像叠加设计

    如何用BMlang搭建Tensorflow模型?

    在EVM1684上如何用BMlang搭建一个Tensorflow模型,求助官方一个demo。
    发表于 09-18 07:00

    GUI方案中ALPHA通道处理介绍

    伴随着 GUI 应用在嵌入式领域比重日益增加,STM32 专门提供了 DMA2D、LTDC 以及 DSI 等外设,能够实现优良的 GUI 解决方案。本文主要围绕 STM32 的 DMA2D 和 LTDC 展开讨论,介绍图片 ALPHA 通道的处理事项
    发表于 09-11 08:16

    GUI方案中ALPHA通道处理介绍

    伴随着GUI应用在嵌入式领域比重日益增加,STM32专门提供了DMA2D、LTDC以及DSI等外设,能够实现优良的GUI解决方案。本文主要围绕STM32的DMA2D和LTDC展开讨论,介绍图片ALPHA通道的处理事项。
    发表于 09-08 08:12

    深度学习框架tensorflow介绍

    TensorFlow可以用于各种不同的任务,包括图像和语音识别、自然语言处理和推荐系统等。 TensorFlow提供了一个灵活和强大的平台,可以用于构建和训练各种深度学习模型。TensorF
    的头像 发表于 08-17 16:11 1420次阅读

    TensorFlow将神经网络量化为8位

    据类型,使用TensorFlow 1.9或更高版本中提供的功能。 设备可以比32位浮点模型更快地执行8位整数模型,因为需要移动的数据更少,并且可以使用更简单的整数算术运算进行乘法和累加。 如果您使用CoreML部署
    发表于 08-10 06:01

    GUI方案中ALPHA通道处理介绍

    电子发烧友网站提供《GUI方案中ALPHA通道处理介绍.pdf》资料免费下载
    发表于 08-02 09:26 0次下载
    GUI方案中<b class='flag-5'>ALPHA</b>通道处理介绍

    使用Tensorflow的Raspberry Pi Covid口罩检测器

    电子发烧友网站提供《使用Tensorflow的Raspberry Pi Covid口罩检测器.zip》资料免费下载
    发表于 07-13 10:54 0次下载
    使用<b class='flag-5'>Tensorflow</b>的Raspberry Pi Covid口罩检测器

    如何使用meta-imx层中提供tensorflow-lite编译图像?

    我们正在尝试使用 meta-imx 层中提供tensorflow-lite 编译图像。我们没有任何 自定义更改/bbappends (Highlight to read)sources
    发表于 05-29 06:55

    在树莓派64位上安装TensorFlow

    本页将指导您在Raspberry Pi 4 64位操作系统Bullseye 上安装 TensorFlow 2.10.0 或更早版本。
    的头像 发表于 05-15 13:46 797次阅读
    在树莓派64位上安装<b class='flag-5'>TensorFlow</b>