深圳Yolo 视觉
深圳
立即加入
词汇表

Keras

了解 Keras,它是一种用户友好型Python API,可通过模块化、灵活性和多后端支持简化机器学习。


Keras 是一个开源的高级软件界面,旨在简化

模型的创建。它以Python 编写,
,重点是通过对复杂的低级数值
计算库进行用户友好的封装,实现快速实验。Keras 的开发理念是:

工具
应该便于人类使用,而不仅仅是为机器设计的。它允许研究人员和开发人员在最短的时间内将
从最初的想法转化为工作结果,使其成为更广泛的

生态系统中的基石工具。

核心原则和架构


Keras 的设计以模块化、极简主义和可扩展性为指导。它将

视为一系列独立的、
、完全可配置的模块,这些模块可以尽可能少的限制插接在一起。这种架构风格
使初学者能够直观地掌握基本概念,而专家则能够构建强大的
高级架构。


Keras 支持多个后端引擎,这意味着它本身并不执行底层tensor 操作。相反,它
依赖于强大的库,如

或 JAX 来处理繁重的工作。这种多后端功能允许用户利用不同框架的特定优势
,例如TensorFlow 的生产就绪生态系统或
PyTorch的动态计算图,PyTorch重写其高级模型定义。您可以访问

官方网站,深入了解其后台配置。

将 Keras 与TensorFlow 和PyTorch区分开来


区分接口和引擎非常重要。Keras 是接口,而



等库则是引擎。


     

     


实际应用


Keras 的简单性使其在各行各业得到广泛应用,用于解决复杂的数据
问题。


     

     


示例:构建分类器


下面的示例演示了如何使用 Keras Sequential API 定义简单的图像分类器。这种
模块化方法堆叠层,如

池,从图像中提取特征。

from tensorflow.keras import layers, models

# Define a Sequential model for image classification
model = models.Sequential(
   [
       layers.Conv2D(32, (3, 3), activation="relu", input_shape=(28, 28, 1)),
       layers.MaxPooling2D((2, 2)),
       layers.Flatten(),
       layers.Dense(64, activation="relu"),
       layers.Dense(10, activation="softmax"),  # Output layer for 10 classes
   ]
)

# Compile the model with an optimizer and loss function
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])

# Display the architecture
model.summary()

与现代人工智能工作流程集成


虽然 Keras 非常适合从头开始构建定制架构,但现代人工智能开发通常需要使用
专门的预优化模型来完成特定任务。例如,

可为

和分割任务提供
最先进的性能,



开发人员通常会发现了解这两种范式的价值。开发人员可以使用 Keras 尝试新颖的

或简单的
分类头,同时依靠Ultralytics 等强大的框架来构建生产级检测管道。
此外,在 Keras 中构建的模型通常可以导出为互操作格式,如

。这样,它们就可以与YOLO 模型一起部署在高性能环境中,如

或移动应用。


对于那些希望扩展工具包的人来说,学习 Keras 可以为





打下坚实的基础,这是在自定义

上使用

微调高级模型时
必不可少的知识。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入