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

2025-09-23

    机器之心报道

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

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

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

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

    主要功能和改进

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

    _可在CPU上操作;

    可用于数据类型、、、、;

    用于在CPU上输出数据类型;

    用于在CPU上输出数据类型;

    用于在CPU上的输出数据类型。

    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,并提供了详细版本摘要。

    增加了一个额外的参数output_shape,它可以指定特征输出激活的形状;

    现在具有与_embedding_lookup相同的功能,它可以使用任意等级密集和稀疏的张量。对于不规则张量,尽管输入张量仍然是2级,但现在可以通过在特征配置中指定输出形状或通过build方法来激活2级或更高级别。

    添加_op_determinism,这使得TensorFlowops以性能为代价可以确定性地运行。替换TF_DETERMINISTIC_OPS环境变量。

    (自起)向TensorFlowProfiler添加PluggableDevice支持。

    Bug修复和其他改进

    如果用户未禁用,现在优化parallel_batch现在成为默认值,这样可以并行复制批处理元素;

    添加了TensorSliceDataset,用于识别和处理文件输入。

    为JavaAPI的序列化添加GPU委托支持,当OpenCL可用时,这将初始化时间提高了90%;

    弃用Interpreter::SetNumThreads,支持InterpreterBuilder::SetNumThreads。

    用于keras初始化和所有的RNG代码;

    TextVectorization增加了额外的standardize和split模式:standardize="lower"转化为小写字母输入;standardize="string_punctuation"删除所有标点符号;Split="character"将对每个unicode字符进行拆分。

    增加GPU实现:

    (自2.7版本开始)_mean

    (自2.7版本开始)_prod

    (自2.7版本开始)_sum

    TensorFlow已在适用于GPU和CPU的WindowsSubsystemforLinux2(又名WSL2)上得到验证。

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

    更多内容,请参考:

最近发表
标签列表