热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python2tensorflow_TensorFlow2.1正式版:最后一次支持Python2

机器之心报道参与:杜伟、一鸣TensorFlow2.1的更新,能够让弃坑的用户回心转意吗?去年10月,谷歌才发布了Tenso

机器之心报道

参与:杜伟、一鸣

TensorFlow2.1的更新,能够让弃坑的用户回心转意吗?

b04c9c3d68ebacb5bb03da6f69357ea0.png

去年 10 月,谷歌才发布了 TensorFlow 2.0 正式版。时隔三个月后,昨日官方发布了 TensorFlow 2.1,本次版本更新带了了多项新特性、功能改进和 bug 修复。

从本次更新的日志来看,TensorFlow 2.1 将成为最后一个支持 Python2 的版本了。同时,本次更新的重点是增加了对 TPU 的多项支持,而 tf.keras 和 tf.data 这两个常用的 API 也得到了很多新的更新。据悉,TensorFlow 2.1 的 CUDA 版本为 10.1,cuDNN 版本为 7.6。

在对操作系统的支持上,Windows 和 Linux 系统的 TensorFlow pip 版本默认支持 GPU。也就是说,如果使用 pip install tensorflow,则版本默认为是 gpu 版本(原始的 tensorflow-gpu 版本依然存在)。当然,不管有没有英伟达版本的 GPU,tensorflow 依然能够运行。

如果需要使用 CPU 版本,用户的安装命令应该为:pip install tensorflow-cpu。

项目地址:https://github.com/tensorflow/tensorflow/releases

对于本次更新的内容,机器之心整理如下:

进一步支持 TPU

TensorFlow 2.1 最大的亮点在于进一步增加对 TPU 的支持。从 tf.keras、tf.data 等 API 的功能调整和更新来看,现在使用 TPU 加载数据集、训练和模型推理会更方便一些。

tf.keras 对 TPU 的支持

增加了在 GPU 和 Cloud TPUs 上对混合精度(mix precision)的支持;

tf.Keras 中的 compile、fit、evaluate、predict 等 API 都支持 Cloud TPUs 了,而且支持所有的 Keras 模型(即以 sequential、functional 和子类方式构建的模型都支持);

现在可以使用 Cloud TPU 进行自动外部编译(automatic outside compilation)了,这使得 tf.summary 和 Cloud TPUs 能够更好地一起使用;

分布式策略和 Keras 中的动态批大小控制已支持 Cloud TPUs;

支持在 TPU 上使用 numpy 格式的数据进行 fit、evaluate 和 predict。

tf.data 对 TPU 的支持

tf.data.Dataset 现在支持自动数据分发(automatic data distribution)和分布式环境下的分片操作,包括在 TPU pods 上都可以。

tf.distribute 对 TPU 的支持

支持在 TPU 和 TPU pods 上定制训练循环,通过以下 API 即可:

strategy.experimental_distribute_dataset、 strategy.experimental_distribute_datasets_from_function、strategy.experimental_run_v2 和 strategy.reduce。

重要 API 更新

TensorFlow 2.1 进行了以下一些重要的 API 更新:

tf.keras

推出了 TextVectorization 层,该层将原始字符串作为输入,并兼顾到了文本规范化、标记化、N 元语法生成和词汇检索;

允许 Keras .compile、.fit、.evaluate 和.predict 在 DistributionStrategy 范围之外,前提是模型在该范围内构建;

诸多流行模型的 Keras 参考实现都可以在 TensorFlow Model Garden(https://github.com/tensorflow/models/tree/master/official)中获得;

tf.data

tf.data datasets 和分布式策略都进行了改进,以获得更好的性能。需要注意的是 dataset 会变得有些不同,重新进行了分批的数据集会有多个副本;而分布式策略也会进行调整,如下所示:

tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA) tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)

TensorRT

现在 TensorRT 6.0 是默认的版本,这一版本增加了对更多 TensorFlow 算子的支持,包括 Conv3D、Conv3DBackpropInputV2、AvgPool3D、MaxPool3D、ResizeBilinear 和 ResizeNearestNeighbor。

此外,TensorFlow 和 TensorRT 的 Python 交互 API 被命名为 tf.experimental.tensorrt.Converter。

Bug 修复

TensorFlow 2.1.0 还修复了以前版本中出现的一些 Bug,整理如下:

tf.data

修复当 sloppy=True 时 tf.data.experimental.parallel_interleave 出现的并发问题;

增加 tf.data.experimental.dense_to_ragged_batch();

扩展 tf.data 语法解析选项,从而支持 RaggedTensors。

tf.distribute

修复使用 tf.distribute.Strategy 时 GRU 崩溃或输出错误结果的问题。

tf.keras

导出 tf.keras.backend 中的 depthwise_conv2d;

在 Keras Layers 和 Models 中,删除 trainable_weights、non_trainable_weights 和 weights 中变量的重复数据;

Kerasmodel.load_weights 现将 skip_mismatch 接受为一种自变量;

修复 Keras 卷积层的输入形状缓存的行为;

Model.fit_generator、Model.evaluate_generator、Model.train_on_batch, Model.test_on_batch 和 Model.predict_on_batch 方法现遵循 run_eagerly 属性,并且在默认情况下,使用 tf.function 能够正确地运行。请注意,Model.fit_generator、Model.evaluate_generator 和 Model.predict_generator 是不宜用的端点。这些端点现已被归入支持生成器和序列的 Model.fit、Model.evaluate 和 Model.predict 中。



推荐阅读
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • PatchODAX8: ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
author-avatar
用户cnhr0qjy0s
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有