机器之心报道
「大新闻:我们刚刚发布了版本!」Keras之父FrançoisChollet在X上激动的表示。「现在你可以在JAX、TensorFlow以及PyTorch框架上运行Keras……」
对于这一更新,Keras官方表示,这一版本足足花了他们5个月的时间进行公测才完成。是对Keras的完全重写,你可以在JAX、TensorFlow或PyTorch之上运行Keras工作流,新版本还具有全新的大模型训练和部署功能。你可以选择最适合自己的框架,也可以根据当前的目标从一种框架切换到另一种框架都没有问题。
Keras地址:
被250多万开发者使用的Keras,迎来3.0版本
KerasAPI可用于JAX、TensorFlow和PyTorch。现有的仅使用内置层的模型可以在JAX和PyTorch中运行!
Keras3可与任何JAX、TensorFlow和PyTorch工作流无缝协作。Keras3不仅适用于以Keras为中心的工作流,比如定义Keras模型、优化器、损失和度量,它还旨在与JAX、TensorFlow和PyTorch低级后端本地工作流无缝集成,在训练Keras模型时,你可以选择使用JAX训练、TensorFlow训练、PyTorch训练,也可以将其作为JAX或PyTorch模型的一部分,上述操作都没有问题。Keras3在JAX和PyTorch中提供了与在TensorFlow中相同程度的低级实现灵活性。
预训练模型。你现在可以在Keras3中使用各种预训练模型。现在已经有40个Keras应用模型可在后端中使用,此外,KerasCV和KerasNLP中存在的大量预训练模型(例如BERT、T5、YOLOv8、Whisper、SAM等)也适用于所有后端。
Keras3高度向后兼容Keras2:Keras3现在实现了Keras2的公共API接口。大多数用户无需更改任何代码即可在Keras3上运行Keras脚本。如果你还不习惯使用Keras3,可以选择忽略新版本的更新,继续将Keras2与TensorFlow结合使用。
Keras3支持所有后端的跨框架数据pipeline。多框架机器学习也意味着多框架数据加载和预处理。Keras3模型可以使用各种数据pipeline进行训练,无论你使用的是JAX、PyTorch还是TensorFlow后端:
。
对象。
NumPy数组和Pandas数据帧。
Keras的对象。
一个新的分布式API,可用于大规模数据并行和模型并行。目前这一更新仅适用于JAX后端,TensorFlow和PyTorch支持即将推出。
至于为何要推出这一更改,Keras团队表示,近年来,随着模型规模变得越来越大,他们希望为多设备模型分片(sharding)问题提供Keras解决方案。该团队设计的API使模型定义、训练逻辑和分片配置完全独立,这意味着模型可以像在单个设备上运行一样,然后,你可以在训练模型时将分片配置添加到任意模型中。
数据并行(在多个设备上相同地复制小模型)只需两行即可处理:
接下来是模型并行。该API允许你通过正则表达式配置每个变量和每个输出张量的布局。这使得为整个变量类别快速指定相同的布局变得容易。
最后,Keras团队还收集了很多大家关心的问题,并予以解答,感兴趣的读者可以前去Keras官方网站,了解更多内容。





