Keras 3.0预览版迎来重大更新:适用于TensorFlow、JAX和PyTorch

简介: Keras 3.0预览版迎来重大更新:适用于TensorFlow、JAX和PyTorch

以后,Keras 适用的框架只会越来越多。


Keras 出新库了,这次是 Keras Core,我们可以将其理解为 Keras 3.0 预览版,预计今年秋天正式发布。

总结而言,这次 Keras Core 对 Keras 代码库进行了完全重写,除了 TensorFlow 之外,它还将 Keras API 引入 JAX 和 PyTorch。

现在,Keras Core 可以作为 tf.keras 的替代品,当使用 TensorFlow 后端时,几乎完全向后兼容 tf.keras 代码。在绝大多数情况下,你只需使用 import keras_core as keras 来代替 from tensorflow import keras 导入即可,替换之后,以前的代码还能正常跑,不仅如此,性能还提高了。

其实,在此之前,Keras 就已经能在 Theano、CNTK(甚至 MXNet)等框架之上运行。最近几年,随着使用 TensorFlow、PyTorch、JAX 的用户越来越多。例如根据 2023 年 StackOverflow 以及 2022 年的 Kaggle 调查数据显示,2022-2023 年 TensorFlow 占据 55% 到 60% 的市场份额,PyTorch 占据 40% 到 45%。同时,JAX 虽然市场份额较小,但已经被谷歌 DeepMind、Midjourney、Cohere 等顶级生成式人工智能公司所接受和采用。

这么看来,本次新库的发布,是在情理之中。

Keras 创始人 François Chollet 表示:现在,(借助 Keras Core)你可以编写跨框架深度学习组件,并从每个框架提供的最佳功能中受益。

接下来,我们看看 Keras Core 具体有哪些特点。

Keras Core 的主要特点

首先是 Keras Core 实现了完整的 Keras API,可支持 TensorFlow、JAX 和 PyTorch。

Keras Core 的第二个特点:它是一个可用于深度学习的、跨框架的低级语言。基于 Keras Core,用户可以创建组件(例如自定义层和预训练模型),而这些组件可以适用于任何框架。特别是,Keras Core 允许用户访问 keras_core.ops 命名空间,后者适用于所有后端。

Keras Core 的第三个特点是与 JAX、PyTorch 和 TensorFlow 中的本地工作流无缝集成。与 Keras 1.0 不同,Keras Core 不只是针对以 Keras 为中心的工作流,还意味着可以与低级的后端本地工作流无缝地工作。

Keras Core 其他特点还包括:支持所有后端跨框架的数据 pipeline。多框架的机器学习意味着多框架的数据加载和处理,处理起来比较麻烦。现在 Keras Core 模型可以使用广泛的数据 pipeline 进行训练 —— 不管你是使用 JAX、PyTorch 还是 TensorFlow 后端。

预训练模型。从现在开始,你可以借助 Keras Core 使用更多的预训练模型。现在已经有 40 个 Keras 应用模型可在后端中使用,此外,KerasCV 和 KerasNLP 中存在的大量预训练模型(例如 BERT、T5、YOLOv8、Whisper 等)也适用于所有后端。

了解更多内容,请参考:https://keras.io/keras_core/announcement/

相关文章
|
20天前
|
机器学习/深度学习 TensorFlow API
TensorFlow与Keras实战:构建深度学习模型
本文探讨了TensorFlow和其高级API Keras在深度学习中的应用。TensorFlow是Google开发的高性能开源框架,支持分布式计算,而Keras以其用户友好和模块化设计简化了神经网络构建。通过一个手写数字识别的实战案例,展示了如何使用Keras加载MNIST数据集、构建CNN模型、训练及评估模型,并进行预测。案例详述了数据预处理、模型构建、训练过程和预测新图像的步骤,为读者提供TensorFlow和Keras的基础实践指导。
154 59
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch 与 Tensorflow:深度学习的主要区别(1)
Pytorch 与 Tensorflow:深度学习的主要区别(1)
54 2
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习:Pytorch 与 Tensorflow 的主要区别(2)
深度学习:Pytorch 与 Tensorflow 的主要区别(2)
34 0
|
2月前
|
机器学习/深度学习 数据可视化 PyTorch
TensorFlow与PyTorch框架的深入对比:特性、优势与应用场景
【5月更文挑战第4天】本文对比了深度学习主流框架TensorFlow和PyTorch的特性、优势及应用场景。TensorFlow以其静态计算图、高性能及TensorBoard可视化工具适合大规模数据处理和复杂模型,但学习曲线较陡峭。PyTorch则以动态计算图、易用性和灵活性见长,便于研究和原型开发,但在性能和部署上有局限。选择框架应根据具体需求和场景。
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow与PyTorch在Python面试中的对比与应用
【4月更文挑战第16天】这篇博客探讨了Python面试中TensorFlow和PyTorch的常见问题,包括框架基础操作、自动求梯度与反向传播、数据加载与预处理。易错点包括混淆框架API、动态图与静态图的理解、GPU加速的利用、模型保存恢复以及版本兼容性。通过掌握这些问题和解决策略,面试者能展示其深度学习框架技能。
54 9
|
2月前
|
算法框架/工具 TensorFlow 机器学习/深度学习
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)(2)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)
165 0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)(2)
|
2月前
|
机器学习/深度学习 算法框架/工具 TensorFlow
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)(1)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)
52 0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)(1)
|
2月前
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow、Keras 和 Python 构建神经网络分析鸢尾花iris数据集|代码数据分享
TensorFlow、Keras 和 Python 构建神经网络分析鸢尾花iris数据集|代码数据分享
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
NumPy与TensorFlow/PyTorch的集成实践
【4月更文挑战第17天】本文探讨了NumPy与主流深度学习框架TensorFlow和PyTorch的集成实践,阐述了它们如何通过便捷的数据转换提升开发效率和模型性能。在TensorFlow中,NumPy数组可轻松转为Tensor,反之亦然,便于原型设计和大规模训练。PyTorch的张量与NumPy数组在内存中共享,实现无缝转换。尽管集成带来了性能和内存管理的考量,但这种结合为机器学习流程提供了强大支持,促进了AI技术的发展。