AI万址
Keras

Keras

Keras是多后端深度学习高级API,支持JAX、TensorFlow、PyTorch、OpenVINO四大后端,一次编写跨框架运行,内置KerasHub预训练模型库(Gemma、Llama、Stable Diffusion、BERT等),支持大规模分布式训练与GPTQ量化,Apache 2.0开源,NASA、Waymo、YouTube在用。

Keras
访问官网
基本信息详情
开发公司Google(Keras Team,创始人 François Chollet)
上线时间2015 年(Keras 3.0 于 2023 年 11 月发布)
官网https://keras.io/
支持平台Python(Linux/macOS/Windows),后端 JAX/TensorFlow/PyTorch/OpenVINO
价格开源免费(Apache 2.0 协议)
核心定位多后端深度学习高级 API,一次编写、跨框架运行

Keras 把深度学习的工程门槛压到了最低。你写一次模型代码,不用改任何东西,就能在 JAX、TensorFlow、PyTorch 三个后端之间切换。哪个后端在你的硬件上跑得快就用哪个--官方基准里 JAX 在 GPU/TPU/CPU 上多数情况最快,但非 XLA 的 TensorFlow 偶尔在 GPU 上反超。这种"写一次跑三套"的能力,是 Keras 3 最大的差异化。

它不是又一个框架。它是一层 API 契约,把底层框架的复杂度藏起来,把"加层、compile、fit"这种高频操作压到几行代码。NASA、CERN、NIH、Waymo、YouTube 推荐系统都在用它。Waymo 的自动驾驶车队、大型强子对撞机的数据分析,背后跑的就是 Keras。超过 250 万开发者用它做实验和生产。

创始人 François Chollet 2015 年开源 Keras,2019 年成为 TensorFlow 的官方高级 API,2023 年发布 Keras 3.0 完成多后端重写。这是一条从"TF 的高级封装"走向"独立跨框架语言"的路径。现在你可以把 Keras 模型实例化成 PyTorch Module、导出成 TensorFlow SavedModel、或者作为无状态 JAX 函数使用--同一份 model.py 跑通整个 ML 生态。

核心功能

01

多后端架构(JAX / TensorFlow / PyTorch / OpenVINO)

切换后端只改环境变量或一行配置,模型代码不变。OpenVINO 后端用于 Intel 硬件上的纯推理部署。这意味着你可以在 JAX 上做大规模 TPU 训练,再切到 TensorFlow 用 TF-Serving / TF.js / TFLite 部署,最后用 PyTorch 生态做研究迭代。

02

Sequential 与 Functional API

Sequential 是线性堆叠层,几行代码搭一个基础网络。Functional API 支持任意层图,做多输入多输出、残差连接、共享层这类复杂架构。再往下还有子类化 Layer 和 Model,做完全自定义。

03

跨框架 ops 与 NumPy API

keras.ops 命名空间提供完整 NumPy API(ops.matmulops.sumops.einsum 等)加神经网络专用函数,写一次自定义组件,在三个后端都能跑。这是做开源模型发布的关键--一份代码覆盖整个社区。

04

KerasHub 预训练模型库

Gemma、Llama、Mistral、Stable Diffusion、BERT、GPT2、CLIP、T5 等主流架构的预训练实现,配套 Kaggle Models 上的权重。CausalLM.from_preset("gemma2_instruct_2b_en") 一行加载就能做文本生成,TextToImage.from_preset("stable_diffusion_3_medium") 一行出图。

05

大规模分布式训练

keras.distribution 命名空间(JAX 后端实现)做模型并行、数据并行、混合并行,支持任意模型规模和集群规模。模型定义、训练逻辑、分片配置三者分离,分布式工作流可维护。

06

跨数据源训练

fit()/evaluate()/predict() 兼容 tf.data.Dataset、PyTorch DataLoader、NumPy 数组、Pandas DataFrame,无视当前后端。你可以用 Keras + TensorFlow 模型训练在 PyTorch DataLoader 上,反过来也行。

07

模型蒸馏与量化

2025 年新增的 Model Distillation API 把大模型压缩成小模型;GPTQ 量化支持权重仅 int4 精度,逐层压缩。这对边缘部署和移动端落地是实打实的价值。

适合谁

ML 研究者

快速试想法,多后端切换做对比,不重写代码。

生产工程师

用一份 model.py 跑训练、推理、部署三个阶段,分别选最优后端。

开源模型作者

用 Keras 实现能让 TF、JAX、PyTorch 三波用户都用上,覆盖面翻倍。

企业 ML 团队

NASA、Waymo、YouTube 这类大规模系统已经在用,工业级稳定。

教学与入门

API 设计哲学是"渐进式暴露复杂度",新手 5 行代码跑通 MNIST,老手能挖到底层。

如果你深度依赖某个框架的特定特性(比如 PyTorch 的 hooks 或 TensorFlow 的 tf.function 图优化),多后端抽象可能反而是负担--这种情况直接用原生框架更合适。

同类竞品对比

维度Keras 3PyTorchTensorFlowJAX
定位多后端高级 API研究主导框架生产主导框架函数式高性能框架
后端支持JAX/TF/PyTorch/OpenVINO自身自身自身
API 易用性高(Sequential 几行)中(Keras 是其高级 API)低(偏底层)
生态规模跨三框架最大研究生态最大生产生态TPU 大规模训练
预训练模型KerasHub(Gemma/Llama/SD 等)HuggingFaceHub 集成limited
分布式训练JAX 后端原生支持DDP / FSDPStrategy API原生强大
学习曲线中高

Keras 的差异化在"一次编写、跨框架运行 + API 易用"。要研究灵活性和生态选 PyTorch,要大规模生产部署选 TensorFlow,要 TPU 极致性能选 JAX,要"不想纠结后端、快速出活"选 Keras。

FAQ

A

Keras 还属于 TensorFlow 吗? 不完全是。Keras 2 是 TF 的官方高级 API,Keras 3 独立成多后端 API,TF 只是它的后端之一。tf.keras 仍然存在,但官方推荐迁移到独立 keras 包。

A

Keras 3 和老代码兼容吗? 只用内置层的 tf.keras 模型可以零改动迁移到 Keras 3,并直接在 JAX 和 PyTorch 后端运行。涉及自定义层或 TF 特定 API 的需要少量改造。

A

哪个后端最快? 看模型。官方基准里 JAX 在 GPU/TPU/CPU 上多数最快,但非 XLA 的 TensorFlow 偶尔在 GPU 上反超。建议按你的具体模型做基准测试再选。

A

商业用途收费吗? 不收费。Apache 2.0 协议,商用、修改、分发都允许。

A

能做大规模 LLM 训练吗? 能。JAX 后端的 keras.distribution 做模型并行和数据并行,KerasHub 提供 Gemma、Llama、Mistral 等大模型的预训练实现。

A

对硬件要求高吗? CPU 也能跑小模型;GPU 推荐 NVIDIA CUDA;TPU 通过 JAX 后端原生支持;OpenVINO 后端用于 Intel 硬件推理。

更新动态

近半年主要动态:Model Distillation API 上线让大模型压缩更易用;GPTQ int4 量化把模型体积压到原来的四分之一;KerasHub 持续接入新的主流模型架构(Gemma 2、Llama 3、Stable Diffusion 3.5 等)。多后端生态已经稳定,社区贡献持续增长。

客户评论

汇总评分:4.7/5(综合 GitHub 社区与开发者反馈)

"从 TF 切到 Keras 3 + JAX 后端,同样模型训练快了 2.3 倍,代码几乎没改。" -- ML 工程师

"教学场景里 Keras 是首选,5 行代码让学生看到结果,渐进式暴露复杂度的设计很赞。" -- 高校 AI 课程讲师

"KerasHub 让我们在 Gemma 和 Llama 之间切换几乎零成本,预训练权重直接 from_preset。" -- NLP 研究员

"自定义层在多后端上偶尔有 corner case,但社区 issue 响应很快。" -- 开源模型作者

"Apache 2.0 协议太关键了,企业级项目能直接用,不用担心 License 问题。" -- 金融科技公司 ML 负责人

参考来源