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

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
Ubuntu TensorFlow 算法框架/工具
TensorFlow(2):给TensorFlow Image 打补丁增加 TuShare 支持
1,关于TuShare TuShare 是一个python的lib 库非常好用。 并且是适合国内的股票市场的,可以直接下载国内的股票数据。 非常的方便。 同事 TensorFlow 已经支持了 Numpy。直接在这个上面增加TuShare类库就好了。 而且docker 的有点就出来了。一层一层的叠加了。 2,增加镜像 和上次一样重新增加一个启动脚本: htt
1699 0
|
18天前
|
机器学习/深度学习 TensorFlow API
TensorFlow与Keras实战:构建深度学习模型
本文探讨了TensorFlow和其高级API Keras在深度学习中的应用。TensorFlow是Google开发的高性能开源框架,支持分布式计算,而Keras以其用户友好和模块化设计简化了神经网络构建。通过一个手写数字识别的实战案例,展示了如何使用Keras加载MNIST数据集、构建CNN模型、训练及评估模型,并进行预测。案例详述了数据预处理、模型构建、训练过程和预测新图像的步骤,为读者提供TensorFlow和Keras的基础实践指导。
153 59
|
7天前
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
86 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
10天前
|
机器学习/深度学习 人工智能 TensorFlow
TensorFlow 是一个由 Google 开发的开源深度学习框架
TensorFlow 是一个由 Google 开发的开源深度学习框架
20 3
|
23天前
|
机器学习/深度学习 自然语言处理 TensorFlow
TensorFlow:深度学习框架的领航者
**TensorFlow**是谷歌开源的机器学习框架,用于深度学习和大规模数据处理。它以数据流图为基础,支持分布式计算,提供高效、灵活且可扩展的环境。自2015年以来,经过多次升级,包括引入Eager Execution,提升了开发效率。TensorFlow广泛应用于图像识别、自然语言处理、推荐系统和语音识别等领域,其丰富的API和工具简化了模型构建,促进了深度学习的发展。【6月更文挑战第5天】
52 9
|
7天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
130 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
8天前
|
机器学习/深度学习 人工智能 算法
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 '美式足球', '棒球', '篮球', '台球', '保龄球', '板球', '足球', '高尔夫球', '曲棍球', '冰球', '橄榄球', '羽毛球', '乒乓球', '网球', '排球'等15种常见的球类图像作为数据集,然后进行训练,最终得到一个识别精度较高的模型文件。再使用Django开发Web网页端可视化界面平台,实现用户上传一张球类图片识别其名称。
101 7
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
|
15小时前
|
机器学习/深度学习 人工智能 算法
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
乐器识别系统。使用Python为主要编程语言,基于人工智能框架库TensorFlow搭建ResNet50卷积神经网络算法,通过对30种乐器('迪吉里杜管', '铃鼓', '木琴', '手风琴', '阿尔卑斯号角', '风笛', '班卓琴', '邦戈鼓', '卡萨巴', '响板', '单簧管', '古钢琴', '手风琴(六角形)', '鼓', '扬琴', '长笛', '刮瓜', '吉他', '口琴', '竖琴', '沙槌', '陶笛', '钢琴', '萨克斯管', '锡塔尔琴', '钢鼓', '长号', '小号', '大号', '小提琴')的图像数据集进行训练,得到一个训练精度较高的模型,并将其
5 0
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch 与 Tensorflow:深度学习的主要区别(1)
Pytorch 与 Tensorflow:深度学习的主要区别(1)
50 2
|
27天前
|
机器学习/深度学习 算法 TensorFlow
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
谷物识别系统,本系统使用Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对11种谷物图片数据集('大米', '小米', '燕麦', '玉米渣', '红豆', '绿豆', '花生仁', '荞麦', '黄豆', '黑米', '黑豆')进行训练,得到一个进度较高的H5格式的模型文件。然后使用Django框架搭建了一个Web网页端可视化操作界面。实现用户上传一张图片识别其名称。
67 0
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别