Keras 3.0:您需要了解的一切都在此文中

译文
人工智能
利用Keras 3.0发掘AI协作的力量!在TensorFlow、JAX和PyTorch之间无缝切换,以彻底改变深度学习项目。

译者 | 布加迪

审校 | 重楼

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

Keras团队认识到这挑战后推出Keras Core,这个创新的多后端库实现了Keras API,支持TensorFlowJAXPyTorch。该库将在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使您能够有效地与团队协作。通过结合TensorFlowJAXPyTorch的优,您可以开发统一前端复杂模型。以下是Keras 3.0改变游戏规则的几项特性:

1.多后端支持

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

2.性能优化

能优化是Keras 3.0的关键特性。默认情况下,Keras 3.0利用XLA加速线性代数编译。XLA编译可以优化数学计算,使它们在GPUTPU等硬件上运行起来快得多。它还允许您为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 CoreLinux和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


责任编辑:华轩 来源: 51CTO
相关推荐

2022-11-28 08:44:46

死锁面试线程

2023-03-29 21:05:03

布线结构化布线

2019-04-11 14:51:12

数据

2019-08-13 17:10:18

键盘机械键帽

2021-08-09 14:40:02

物联网IOT智能家居

2016-03-01 16:14:32

问问应用商店Android Wea

2023-05-28 18:21:32

2023-12-29 09:50:51

智能机器人人工智能

2024-04-10 11:47:34

2022-03-14 16:50:54

物联网IoT云计算

2020-04-29 09:25:35

iOS 14苹果iPhone

2018-07-18 09:00:00

区块链职位工作岗位

2018-09-27 18:56:25

区块链

2023-06-25 10:14:46

智能机器人人工智能

2024-01-09 15:04:29

Cat6a电缆以太网

2020-05-12 16:10:34

Wi-Fi网状网络网络

2021-08-06 06:51:15

TypeScript Any 类型

2020-05-12 10:43:24

物联网数据技术

2020-04-21 14:49:35

物联网数据技术

2023-12-06 14:07:56

数字孪生AI
点赞
收藏

51CTO技术栈公众号