Keras 3.0:您需要了解的一切都在此文中
创始人
2025-06-29 00:21:30
0

译者 | 布加迪

审校 | 重楼

在深入研究这个令人兴奋的发展动向的细节之前,不妨先设想一个场景以便更好地理解。想象自己是一位高级数据科学家,主持一个复杂的图像分类项目。您那基于TensorFlow的模型表现得非常好。然而随着更多功能添加进来,您注意到一些团队成员因可扩展性而青睐JAX,另一些成员因易于使用而偏爱PyTorch。作为团队领导,您如何确保无缝协作,同时保持模型在各种深度学习框架中的效率?

Keras团队认识到这个挑战后推出了Keras Core,这个创新的多后端库实现了Keras API,支持TensorFlow、JAX和PyTorch。该库将在2023年秋季迎来Keras 3.0。但在我们直接介绍Keras 3.0之前,不妨先简单了解一下Keras的历史。

Keras的简史和通向3.0之路

2015年,Francois Chollet推出了Keras,这是用Python编写的开源深度学习库。这个简单而强大的API可以简化复杂的神经网络构建,迅速在研究人员、学生和专业人士当中流行起来。Keras逐渐得到了大幅改进,使其对深度学习社区更具吸引力。最终,Keras成为了谷歌尖端深度学习框架TensorFlow的一个组成部分。大约在同一时间,Facebook的人工智能研究实验室开发出了以直观灵活的模型构建而闻名的PyTorch。与此同时,JAX成为高性能机器学习研究的另一个强大框架。随着这些框架日渐受到追捧,开发人员开始面临在框架之间进行选择的困境。这导致了深度学习社区的进一步碎片化。

认识到支离破碎的框架带来的挑战,Keras的开发人员决定再次革新这个库,推出Keras 3.0。

Keras 3.0的主要特性

Keras 3.0使您能够有效地与团队协作。通过结合TensorFlow、JAX和PyTorch的优点,您可以开发统一前端的复杂模型。以下是让Keras 3.0改变游戏规则的几项特性:

1.多后端支持

Keras 3.0充当超级连接器,支持无缝地使用TensorFlow、JAX和PyTorch。开发人员可以自由地为特定的任务混合搭配最佳工具,无需更改代码。

2.性能优化

性能优化是Keras 3.0的关键特性。默认情况下,Keras 3.0利用XLA(加速线性代数)编译。XLA编译可以优化数学计算,使它们在GPU和TPU等硬件上运行起来快得多。它还允许您为AI模型动态选择最佳后端,以确保最佳效率。这类性能优化特性非常重要,便于训练更多模型、进行更多实验,并大大加快获得结果的速度。

3.扩大的生态系统覆盖面

您的Keras模型可以用作PyTorch模块、TensorFlow SavedModels或JAX的大规模TPU训练基础设施的一部分。这意味着您可以利用每个框架的优势。因此,有了Keras 3.0扩大的生态系统,您不会被单一的生态系统所束缚。它就像一个通用适配器,让您可以把最喜欢的设备连接到任何机器上。

4.跨框架低级语言

引入keras_core.ops命名空间是一项突破性的特性,允许您编写一次自定义操作,就可以毫不费力地在不同深度学习框架中使用。keras_core.ops提供了一组类似流行的NumPy API的工具和函数,NumPy API是Python中广泛使用的数值计算库。这种级别的跨框架兼容性促进了代码的可重用性,并鼓励协作。

5.逐步披露复杂性

Keras 3.0的这种设计方法使其有别于其他深度学习框架。假设您是初学者,想用Keras 3.0构建一个简单的神经网络。它一开始就为您提供了最直接的工作流程。一旦熟悉了基本面,您就可以访问所有高级特性和低级功能。它不会将您限制在预定义的工作流程。这种方法的优点在于其适应性,颇受初学者和经验丰富的深度学习从业人员的欢迎。

6.用于层、模型、指标和优化器的无状态API

在深度学习的背景下,状态指在训练过程中变化的内部变量和参数。然而,JAX基于无状态原则进行操作,这意味着函数没有可变变量或内部状态。Keras 3.0通过Stateless API支持JAX的无状态性。它允许以无状态的方式设计深度学习的基本组件,即层、模型、指标和优化器。这种独特的兼容性使Keras 3.0成为现代AI开发中一种不可或缺的工具。

Keras 3.0入门

Keras Core与Linux和MacOS系统兼容。设置Keras 3.0是一个简单的过程。下面是分步指南:

1.克隆并浏览到存储库

使用以下命令,将存储库克隆到本地系统中:

git clone https://github.com/keras-team/keras-core.git

使用以下命令,将根目录改为clone keras-core:

cd keras-core

2.安装依赖项

打开您的间隔(interval),运行以下命令来安装所需的依赖项。

pip install -r requirements.txt

3.运行安装命令

运行以下脚本,以处理安装过程:

python pip_build.py--install

4.配置后端

默认情况下,Keras Core严格要求TensorFlow作为后端框架,但您可以使用以下两种方式配置它:

方法01:您可以将KERAS_BACKEND环境变量设置为首选的后端选项。

export ERAS_BACKEND = " jax”

方法02:您可以编辑位于~/. keras/keras.json的本地Keras配置文件。在文本编辑器中打开该文件,并将“backend”选项更改为首选的后端。

{
 "backend": "jax",
 "floatx": "float32",
 "epsilon": 1e-7,
 "image_data_format": "channels_last"
}

5.验证安装

为了确保Keras Core已与您选择的后端一并正确安装,可以通过导入库来测试它。打开Python解释器或Jupyter Notebook,运行以下命令:

import keras_core as keras

结语

虽然Keras 3.0有一些限制,比如当前的TensorFlow依赖以及针对其他后端的有限的tf.data支持,但这种框架的未来潜力大有希望。到目前为止,Keras已发布了测试版,他们鼓励开发人员提供宝贵的反馈。如果您有兴趣了解有关它的更多信息,可以在这里找到Keras Core(Keras 3.0)的文档:https://keras.io/api/。不要害怕尝试新想法。Keras 3.0是一个功能强大的工具,赶紧体验吧!

原文标题:Keras 3.0: Everything You Need To Know,作者:Kanwal Mehreen


相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...