首页
/ Keras3 1.4.0版本发布:全面增强张量操作与深度学习功能

Keras3 1.4.0版本发布:全面增强张量操作与深度学习功能

2025-07-10 13:18:15作者:沈韬淼Beryl

Keras3是R语言生态中一个强大的深度学习框架,它作为R与Keras深度学习库之间的桥梁,让R用户能够便捷地构建和训练神经网络模型。最新发布的1.4.0版本带来了多项重要更新,特别是在张量操作、索引功能以及模型构建方面有了显著改进。

张量操作与索引功能的重大增强

本次更新最引人注目的是对张量操作和索引功能的全面增强。新引入的op_subset()函数和x@r[...]方法让R用户可以像操作普通R向量和矩阵那样对张量进行子集选择。这种设计极大地降低了学习成本,让熟悉R语法的用户能够更自然地处理张量数据。

更令人兴奋的是,1.4.0版本还实现了张量的子集赋值功能。现在,用户可以直接使用op_subset(x, ...) <- valuex@r[...] <- value这样的语法来修改张量的部分内容。这种直观的操作方式大大简化了张量处理流程。

为了满足不同用户的需求,Keras3 1.4.0还新增了x@py[...]访问器,专门为习惯Python风格0基索引的用户提供支持。这种设计体现了框架对多语言背景用户的考虑。

索引语义的重大调整

1.4.0版本对多个返回或使用索引的操作函数进行了重大调整,统一将默认行为改为返回1基索引。这一变化影响了许多常用函数,包括op_argmax()op_argmin()op_top_k()等。这种调整使得Keras3更加符合R语言的惯例,减少了用户在R和Python索引习惯之间切换的认知负担。

特别值得一提的是op_arange()函数现在完全匹配R的base::seq()函数语义。它会自动推断步长方向,默认包含结束值,这些改进让函数行为更加符合R用户的预期。

新增张量操作与预处理功能

1.4.0版本引入了多个实用的新操作函数:

  • op_rot90():实现张量的90度旋转
  • op_rearrange():支持Einops风格的张量重排
  • op_signbit()op_polar():新增的数学运算
  • op_image_perspective_transform()op_image_gaussian_blur():图像处理专用操作

在预处理方面,application_decode_predictions()现在默认返回处理后的数据框,而application_preprocess_inputs()在输入缺失时会返回预处理器函数,这些改进使得模型预测结果的后续处理更加便捷。

新增层类型与模型构建增强

1.4.0版本引入了多种新的神经网络层类型,丰富了模型构建的选择:

  • layer_rms_normalization():RMS归一化层
  • layer_aug_mix()layer_cut_mix():数据增强层
  • 多种随机变换层,如layer_random_invert()layer_random_erasing()

在模型构建方面,layer_resizing()新增了antialias参数,keras_input()keras_model_sequential()等函数增加了ragged参数支持。layer$pop_layer()方法现在可以返回被移除的层,并新增了rebuild参数控制是否重建模型。

其他重要改进

1.4.0版本还包含多项细节优化:

  • KERAS_HOME现在默认设置为tools::R_user_dir("keras3", "cache"),提高了跨平台兼容性
  • 新增op_convert_to_array()函数,方便将张量转换为R数组
  • 修复了op_shape()可能返回TensorFlow TensorShape的问题
  • 解决了metric_iou()等函数处理R原子双精度数时的问题

这些改进共同提升了Keras3的稳定性、易用性和与R生态的融合度,为R语言用户在深度学习领域提供了更加强大和便捷的工具。

登录后查看全文
热门项目推荐
相关项目推荐