TensorFlow 2.8.0正式上线,修复众多Bug,发布50多个漏洞补丁

简介: TensorFlow 2.8.0正式上线,修复众多Bug,发布50多个漏洞补丁



近日 TensorFlow 官方发布了 2.8.0 正式版,距离上次 2.7 版本的更新过去没多久,新版本提供了更多的 bug 修复和功能改进,此外新版本还针对漏洞发布了补丁。



对于 TensorFlow 2.8.0 的上线,网友也纷纷感叹,这次的 Bug 修复也太棒了!


不过也有网友已经迫不及待的期待 TensorFlow 3.0 的到来,并表示 TensorFlow 1 到 TensorFlow 2 是一个巨大的飞跃,将来 2 到 3 又会有哪些亮眼的表现呢?


众所周知,TensorFlow 由谷歌开发,最初版本可追溯到 2015 年开源的 TensorFlow0.1,之后发展稳定,拥有强大的用户群体,成为最受欢迎的深度学习框架。但是用户在使用时,也暴露了 TensorFlow 缺点,例如 API 稳定性不足、静态计算图编程复杂等缺陷。因此在 TensorFlow2.0 版本,谷歌将 Keras 纳入进来,成为 tf.keras,到目前为止,TensorFlow 已经更新到 2.8 版本,那么新版本有哪些重要的改进呢?


TensorFlow 2.8.0 主要功能和改进


在 tf.lite 中,增加了 TFLite 内置 op 支持以下功能:


  • tf.raw_ops.Bucketize op 可在 CPU 上操作;
  • tf.where op 可用于数据类型 tf.int32、tf.uint32、tf.int8、tf.uint8、tf.int64;
  • tf.random.normal op 用于在 CPU 上输出数据类型 tf.float32;
  • tf.random.uniform op 用于在 CPU 上输出数据类型 tf.float32;
  • f.random.categorical op 用于在 CPU 上的输出数据类型 tf.int64。


tensorflow.experimental.tensorrt:


  • Conversion_params 在 TrtGraphConverterV2 中被弃用,现在可以支持参数 max_workspace_size_bytes、precision_mode、minimum_segment_size、maximum_cached_engines、use_calibration 和 allow_build_at_runtime;
  • 在 TrtGraphConverterV2 中的 .save () 函数中添加了一个名为 save_gpu_specific_engines 的新参数。当为 False 时,.save () 函数不会保存任何已构建的 TRT 引擎;如果为 True(默认),则保留原始行为;
  • TrtGraphConverterV2 提供了一个名为 .summary () 的新 API。它显示了每个 TRTEngineOp 及其输入和输出的形状和 dtype,并提供了详细版本摘要。


tf.tpu.experimental.embedding:


  • tf.tpu.experimental.embedding.FeatureConfig 增加了一个额外的参数 output_shape,它可以指定特征输出激活的形状;
  • tf.tpu.experimental.embedding.TPUEmbedding 现在具有与 tf.tpu.experimental.embedding.serving_embedding_lookup 相同的功能,它可以使用任意等级密集和稀疏的张量。对于不规则张量,尽管输入张量仍然是 2 级,但现在可以通过在特征配置中指定输出形状或通过 build 方法来激活 2 级或更高级别。


添加 tf.config.experimental.enable_op_determinism ,这使得 TensorFlow ops 以性能为代价可以确定性地运行。替换 TF_DETERMINISTIC_OPS 环境变量。


(自 TF 2.7 起)向 TensorFlow Profiler 添加 PluggableDevice 支持。


Bug 修复和其他改进


tf.data:


  • 如果用户未禁用,现在优化 parallel_batch 现在成为默认值,这样可以并行复制批处理元素;
  • 添加了 TensorSliceDataset,用于识别和处理文件输入。


tf.lite:


  • 为 Java API 的序列化添加 GPU 委托支持,当 OpenCL 可用时,这将初始化时间提高了 90%;
  • 弃用 Interpreter::SetNumThreads,支持 InterpreterBuilder::SetNumThreads。


tf.keras


  • tf.random.Generator 用于 keras 初始化和所有的 RNG 代码;
  • TextVectorization 增加了额外的 standardize 和 split 模式:standardize="lower" 转化为小写字母输入;standardize="string_punctuation" 删除所有标点符号;Split ="character" 将对每个 unicode 字符进行拆分。


增加 GPU 实现:


  • (自 2.7 版本开始) tf.math.segment_mean
  • (自 2.7 版本开始) tf.math.segment_prod
  • (自 2.7 版本开始) tf.math.segment_sum


TensorFlow 已在适用于 GPU 和 CPU 的 Windows Subsystem for Linux 2(又名 WSL 2)上得到验证。


此外,TensorFlow 2.8.0 在安全方面进行了一些修正,包括修正了执行卷积运算时浮点数被 0 除的问题:CVE-2022-21725;修正了 Dequantize 形状推断中的整数溢出问题:CVE-2022-21727;修正了 ConcatV2 形状推断中的类型混淆问题:CVE-2022-21731 等。


更多内容,请参考:https://github.com/tensorflow/tensorflow/releases/tag/v2.8.0?linkId=8031153

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
4月前
|
前端开发 开发者 设计模式
揭秘Uno Platform状态管理之道:INotifyPropertyChanged、依赖注入、MVVM大对决,帮你找到最佳策略!
【8月更文挑战第31天】本文对比分析了 Uno Platform 中的关键状态管理策略,包括内置的 INotifyPropertyChanged、依赖注入及 MVVM 框架。INotifyPropertyChanged 方案简单易用,适合小型项目;依赖注入则更灵活,支持状态共享与持久化,适用于复杂场景;MVVM 框架通过分离视图、视图模型和模型,使状态管理更清晰,适合大型项目。开发者可根据项目需求和技术栈选择合适的状态管理方案,以实现高效管理。
46 0
|
TensorFlow 算法框架/工具 异构计算
TensorFlow 2.10上线:Windows上扩展GPU支持,TF-DF 1.0发布
TensorFlow 2.10上线:Windows上扩展GPU支持,TF-DF 1.0发布
207 0
|
机器学习/深度学习 人工智能 Linux
TensorFlow 2.9上线:oneDNN改进实现CPU性能优化,WSL2开箱即用
TensorFlow 2.9上线:oneDNN改进实现CPU性能优化,WSL2开箱即用
313 0
|
Ubuntu TensorFlow 算法框架/工具
TensorFlow(2):给TensorFlow Image 打补丁增加 TuShare 支持
1,关于TuShare TuShare 是一个python的lib 库非常好用。 并且是适合国内的股票市场的,可以直接下载国内的股票数据。 非常的方便。 同事 TensorFlow 已经支持了 Numpy。直接在这个上面增加TuShare类库就好了。 而且docker 的有点就出来了。一层一层的叠加了。 2,增加镜像 和上次一样重新增加一个启动脚本: htt
1716 0
|
14天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
57 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
14天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
50 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
14天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
57 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
74 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
3月前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
110 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
4月前
|
机器学习/深度学习 算法 TensorFlow
深入探索强化学习与深度学习的融合:使用TensorFlow框架实现深度Q网络算法及高效调试技巧
【8月更文挑战第31天】强化学习是机器学习的重要分支,尤其在深度学习的推动下,能够解决更为复杂的问题。深度Q网络(DQN)结合了深度学习与强化学习的优势,通过神经网络逼近动作价值函数,在多种任务中表现出色。本文探讨了使用TensorFlow实现DQN算法的方法及其调试技巧。DQN通过神经网络学习不同状态下采取动作的预期回报Q(s,a),处理高维状态空间。
60 1