Keras (Keras 3)
法国
Keras 3 是新一代多后端、统一高层深度学习 API 框架,核心是一套代码兼容 TensorFlow、PyTorch、JAX 三大后端,兼顾易用性与性能。

一、核心定位

  • 定位:跨框架统一高层 API,屏蔽底层框架差异,提供简洁、一致的建模与训练接口。
  • 本质:不自带计算引擎,依赖后端(TF/PyTorch/JAX)执行计算,可动态切换。

二、关键特性

  1. 多后端自由切换

    一套代码可在 TensorFlow、PyTorch、JAX 间无缝切换,也支持 OpenVINO 推理。

  2. 完整 Keras API

    保留经典 Sequential/Functional 建模、fit() 训练、层 / 损失 / 优化器等全套接口,高度兼容 Keras 2

  3. 跨框架互操作

    Keras 模型可嵌入 PyTorch Module、JAX 函数,也能对接各框架原生数据管道(tf.data/torch DataLoader)。

  4. 性能与扩展

    利用 JAX jit/vmap、TF 分布式、PyTorch 生态,支持单机到大规模集群训练,性能提升显著。

  5. 大模型友好

    内置分布式 API、混合精度,适配 BERT、YOLO、SAM 等预训练模型。

三、适用场景

  • 快速原型、教学、中小项目(API 简洁、上手快)。
  • 跨框架复用代码、灵活切换后端的团队。
  • 兼顾研究灵活性生产部署的场景。

四、一句话总结

Keras 3 = 统一高层 API + 三大后端自由选 + 一次编写、多框架运行,是兼顾易用与灵活的现代深度学习开发入口。
Keras之父:欢迎来到多框架机器学习

Keras 3.0正式发布,被誉为改变了机器学习游戏规则:

不仅支持TensorFlow、PyTorch、Jax三大框架作为后端,还能在它们之间无缝切换,甚至混合使用

Keras (Keras 3)

Keras之父François Chollet认为,这样至少可以获得4大好处:

始终让模型获得最佳性能:

JAX通常在GPU、CPU各种PU上都最快,但不使用XLA(加速线性代数)的Tensorflow在GPU上偶尔更快。

Keras 3.0能够动态为模型提供最佳性能的后端,而无需更改代码,保证以最高效率运行。

解锁多个生态系统

任何Keras 3模型都可以作为PyTorch模块实例化,可以导出为TF的SavedModel,或者可以实例化为无状态的 JAX 函数。

这意味着可以将Keras 3模型与PyTorch生态的包,TensorFlow中的部署工具或生产工具,以及JAX大规模TPU训练基础设施一起使用,获得机器学习世界所提供的一切。

在开源社区扩大影响力

如果使用纯TensorFlow或PyTorch实现一个开源模型,都只有大约一半的人能使用。

但如果使用Keras 3,任何人无论偏好哪个框架,(即使不是 Keras 用户)都能立刻使用。在不增加开发成本的情况下,使影响力翻倍。

使用任何来源的数据管道

无论使用哪个后端,Keras 3 都能与tf.data.Dataset对象、PyTorch DataLoader对象、NumPy 数组、Pandas数据框兼容。

这意味着可以在PyTorch DataLoader上训练Keras 3 + TensorFlow模型,或在 tf.data.Dataset上训练Keras 3 + PyTorch模型。

Keras (Keras 3)

不少人都对这一进展表示祝贺,项目参与者、谷歌高级工程师Aakash Kumar Nain认为:

Keras 3再次展示了心智模型的重要性。开发API 是一方面,而开发一个拥有出色心智模型的API则完全是另一个层次的工程实践。

Keras (Keras 3)

也有开发者表示:

很高兴能够通过熟悉的Keras API获得框架可选性,让简单的用例变得容易,复杂的用例也成为可能。

Keras (Keras 3)

01 欢迎来到多框架机器学习

Keras 3.0发布公告中开篇写到,欢迎来到多框架机器学习。

Keras (Keras 3)

具体来说,Keras 3.0完全重写了框架API,并使其可用于TensorFlow、JAX和PyTorch。

任何仅使用内置层的Keras模型都将立即与所有支持的后端配合使用。

Keras (Keras 3)

使用Keras 3可以创建在任何框架中都能以相同方式工作的组件,允许访问跨所有后端运行的keras.ops命名空间。

只要仅使用keras.ops中的ops,自定义层、损失、指标和优化器等就可以使用相同的代码与JAX、PyTorch和TensorFlow配合使用。这意味着只需维护一个组件实现,就可以在所有框架中使用完全相同的数值。

Keras (Keras 3)

除此之外,还发布了用于大规模数据并行和模型并行的新分布式API,为多设备模型分片问题提供Keras风格的解决方案。

为此设计的API使模型定义、训练逻辑和分片配置完全独立,这意味可以像在单个设备上运行一样编写代码,然后在训练任意模型时将任意分片配置添加到任意模型中。

Keras (Keras 3)

不过新的分布式API目前仅适用于JAX后端,TensorFlow和PyTorch支持即将推出。

Keras (Keras 3)

为适配JAX,还发布了用于层、模型、指标和优化器的新无状态API,添加了相关方法。

Keras (Keras 3)

这些方法没有任何副作用,它们将目标对象的状态变量的当前值作为输入,并返回更新值作为其输出的一部分。

用户不用自己实现这些方法,只要实现了有状态版本,它们就会自动可用。

如果从Keras 2迁移到3,使用tf.keras开发的代码通常可以按原样在Keras 3中使用Tensorflow后端运行。有限数量的不兼容之处也给出了迁移指南。

在旧版Keras 2中开发的预训练模型通常也可以在Keras 3中使用TensorFlow后端开箱即用。

如果旧版模型仅使用了Keras内置层,那么也可以在Keras 3中使用JAX和PyTorch后端开箱即用。

02 也有人敲警钟

在迫不及待尝试新版本的开发社区氛围中,Cohere机器学习总监Nils Reimers提出“真心希望历史不要重演”,也获得不少关注。

Keras (Keras 3)

Reimers认为,Keras最初从支持单个后端(Theano)开始,陆续添加了Tensorflow、MXNet和CNTK等多后端。

这引发了一系列问题:

某些功能只在特定后端可用

各个后端的计算结果存在不一致:在一个后端上运行正常的代码,在另一个后端可能产生不同结果

对于开源软件开发者来说体验糟糕:你刚完成了一个自定义的 Keras层想要分享?你是否愿意为其他后端重新实现和优化它呢?

调试问题:代码在一个后端上表现完美,但在另一个后端的最新版本上却频繁出错…

随着时间推移,这些问题愈发严重:某些模块只能在 Theano 上运行良好,某些只适用于Tensorflow,还有一些模块可以在MXNet上进行推理,但无法训练…

因此,2019年Keras转向单一后端(Tensorflow),是保障这一伟大项目继续存在的关键之举。

我希望这一次的多后端能有更好的表现,但这无疑仍是一个挑战。

您是否需要等到像FlashAttention v2这样的重要特性在JAX、TensorFlow和PyTorch 上都可用后,才能在 Keras 中使用它?还是说您只能在某些特定后端中使用它?

对于未来,我们还面临着许多未解决的挑战。

参考链接:

[1]https://keras.io/keras_3/

[2]https://x.com/sampathweb/status/1729556960314339534[3]https://twitter.com/Nils_Reimers/status/1729612017340657993

数据统计

数据评估

Keras (Keras 3)浏览人数已经达到1,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:Keras (Keras 3)的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找Keras (Keras 3)的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于Keras (Keras 3)特别声明

本站蜜蜂导航提供的Keras (Keras 3)都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由蜜蜂导航实际控制,在2026年2月11日 下午12:54收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,蜜蜂导航不承担任何责任。

相关导航

暂无评论

暂无评论...