Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch

经过 5 个月的更新迭代,Keras 3.0 终于来了。

「大新闻:我们刚刚发布了 Keras 3.0 版本!」Keras 之父 François Chollet 在 X 上激动的表示。「现在你可以在 JAX、TensorFlow 以及 PyTorch 框架上运行 Keras……」

图片

对于这一更新,Keras 官方表示,这一版本足足花了他们 5 个月的时间进行公测才完成。Keras 3.0 是对 Keras 的完全重写,你可以在 JAX、TensorFlow 或 PyTorch 之上运行 Keras 工作流,新版本还具有全新的大模型训练和部署功能。你可以选择最适合自己的框架,也可以根据当前的目标从一种框架切换到另一种框架都没有问题。

图片

Keras 地址:https://keras.io/keras_3/

被 250 多万开发者使用的 Keras,迎来 3.0 版本

Keras API 可用于 JAX、TensorFlow 和 PyTorch。现有的仅使用内置层的 tf.keras 模型可以在 JAX 和 PyTorch 中运行!

图片

Keras 3 可与任何 JAX、TensorFlow 和 PyTorch 工作流无缝协作。Keras 3 不仅适用于以 Keras 为中心的工作流,比如定义 Keras 模型、优化器、损失和度量,它还旨在与 JAX、TensorFlow 和 PyTorch 低级后端本地工作流无缝集成,在训练 Keras 模型时,你可以选择使用 JAX 训练、TensorFlow 训练、PyTorch 训练,也可以将其作为 JAX 或 PyTorch 模型的一部分,上述操作都没有问题。Keras 3 在 JAX 和 PyTorch 中提供了与 tf.keras 在 TensorFlow 中相同程度的低级实现灵活性。

图片

预训练模型。你现在可以在 Keras 3 中使用各种预训练模型。现在已经有 40 个 Keras 应用模型可在后端中使用,此外,KerasCV 和 KerasNLP 中存在的大量预训练模型(例如 BERT、T5、YOLOv8、Whisper 、SAM 等)也适用于所有后端。

Keras 3 高度向后兼容 Keras 2:Keras 3 现在实现了 Keras 2 的公共 API 接口。大多数用户无需更改任何代码即可在 Keras 3 上运行 Keras 脚本。如果你还不习惯使用 Keras 3,可以选择忽略新版本的更新,继续将 Keras 2 与 TensorFlow 结合使用。

Keras 3 支持所有后端的跨框架数据 pipeline。多框架机器学习也意味着多框架数据加载和预处理。Keras 3 模型可以使用各种数据 pipeline 进行训练,无论你使用的是 JAX、PyTorch 还是 TensorFlow 后端:

  • tf.data.Dataset pipelines。
  • torch.utils.data.DataLoader 对象。
  • NumPy 数组和 Pandas 数据帧。
  • Keras 的 keras.utils.PyDataset 对象。

一个新的分布式 API,可用于大规模数据并行和模型并行。目前这一更新仅适用于 JAX 后端,TensorFlow 和 PyTorch 支持即将推出。

至于为何要推出这一更改,Keras 团队表示,近年来,随着模型规模变得越来越大,他们希望为多设备模型分片(sharding)问题提供 Keras 解决方案。该团队设计的 API 使模型定义、训练逻辑和分片配置完全独立,这意味着模型可以像在单个设备上运行一样, 然后,你可以在训练模型时将分片配置添加到任意模型中。

数据并行(在多个设备上相同地复制小模型)只需两行即可处理:

图片

接下来是模型并行。该 API 允许你通过正则表达式配置每个变量和每个输出张量的布局。这使得为整个变量类别快速指定相同的布局变得容易。

图片

最后,Keras 团队还收集了很多大家关心的问题,并予以解答,感兴趣的读者可以前去 Keras 官方网站,了解更多内容。
产业Keras 3
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

YOLO技术

YOLO 模型最早是由 Joseph Redmon 等人在 2015 年发布的,并在随后的两篇论文中进行了修订。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

推荐文章
暂无评论
暂无评论~