Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Keras

Keras là API Python cấp cao để xây dựng và huấn luyện mạng nơ-ron; kể từ Keras 3, Keras chạy cùng một đoạn code trên JAX, TensorFlow hoặc PyTorch.

Keras là API Python cấp cao, mã nguồn mở để xây dựng và huấn luyện mạng neural. François Chollet phát hành Keras vào tháng 3 năm 2015 nhằm giúp viết nhanh các experiment deep learning: model là một stack hoặc graph gồm các layer, compile thiết lập optimizer, hàm loss và metric, còn fit chạy vòng lặp huấn luyện. Keras trở thành API cấp cao chính thức của TensorFlow; Keras 3, phát hành vào tháng 11 năm 2023, chạy cùng một mã model trên JAX, TensorFlow hoặc PyTorch, được chọn khi import Keras. Mã ngắn gọn, dễ đọc khiến Keras trở thành lựa chọn phổ biến cho giảng dạy, tạo prototype và các cuộc thi Kaggle, cũng như cho model production trong phân loại ảnh và xử lý ngôn ngữ tự nhiên.

Cách Keras hoạt động#

Model Keras được xây dựng từ các layer như Dense, Conv2D, LSTM và MultiHeadAttention, mỗi layer chứa các weight riêng. Keras cung cấp ba cách kết hợp chúng: API Sequential cho một stack đơn giản, functional API cho graph có nhánh, layer dùng chung hoặc nhiều input, và kế thừa lớp keras.Model để toàn quyền kiểm soát forward pass. Model đã biên dịch được huấn luyện bằng fit, thành phần xử lý chia batch, lan truyền ngược, metric, dữ liệu validation và callback để lưu checkpoint hoặc dừng sớm; sau đó, model chấm điểm dữ liệu mới bằng evaluate và predict. Đoạn mã này huấn luyện một bộ phân loại chữ số nhỏ trên dataset MNIST đi kèm Keras:

import os

os.environ["KERAS_BACKEND"] = "torch"  # or "jax" or "tensorflow", set before importing Keras

import keras

# MNIST handwritten digits, with pixels scaled to [0, 1]
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Define the model as a stack of layers
model = keras.Sequential(
    [
        keras.Input(shape=(28, 28)),
        keras.layers.Flatten(),
        keras.layers.Dense(128, activation="relu"),
        keras.layers.Dense(10, activation="softmax"),
    ]
)

# Configure training, then train and evaluate
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
model.fit(x_train, y_train, epochs=2, batch_size=64, verbose=0)
loss, accuracy = model.evaluate(x_test, y_test, verbose=0)
print(f"Test accuracy: {accuracy:.3f}")

Sau hai epoch, chương trình in ra accuracy trên tập kiểm thử khoảng 0.96; thay "torch" bằng "jax" hoặc "tensorflow" sẽ chạy cùng model trên framework khác mà không cần sửa dòng nào khác.

Keras 3 và các backend#

Ban đầu, Keras chạy trên nhiều engine, gồm Theano, TensorFlow và CNTK. Keras 2.3, phát hành vào tháng 9 năm 2019, là phiên bản cuối cùng hỗ trợ nhiều backend; sau đó, quá trình phát triển chuyển vào TensorFlow dưới dạng tf.keras. Keras 3 khôi phục tính độc lập với backend: các layer và model được viết dựa trên keras.ops, một tập hợp phép toán theo kiểu NumPy mà mỗi backend triển khai; do đó, model được lưu ở định dạng .keras có thể được tải lại và huấn luyện trên bất kỳ backend nào. Với backend PyTorch, model Keras cũng là một torch.nn.Module mà vòng lặp huấn luyện PyTorch tùy chỉnh có thể sử dụng; từ Keras 3.8, backend OpenVINO chỉ dùng để suy luận cũng có thể chạy model đã huấn luyện trên phần cứng Intel.

Từ TensorFlow 2.16, cài đặt TensorFlow cũng cài Keras 3; mã vẫn cần Keras 2 sẽ dùng package riêng tf_keras. Các công cụ chuyển đổi model cũng nhắm đến Keras: khi Ultralytics YOLO xuất YOLO26 sang TensorFlow SavedModel, bộ chuyển đổi onnx2tf dựng lại mạng PyTorch từ graph ONNX dưới dạng model Keras, theo từng layer, trước khi lưu.

Model đã huấn luyện trước trong KerasHub#

KerasHub cung cấp các bản triển khai Keras 3 của những kiến trúc phổ biến cùng checkpoint đã huấn luyện trước, chẳng hạn ResNet cho ảnh, BERT cho văn bản và mô hình ngôn ngữ lớn Gemma. Tên preset tải một model sẵn sàng cho transfer learning: keras_hub.models.ImageClassifier.from_preset("resnet_50_imagenet") trả về một bộ phân loại đã huấn luyện trên ImageNet mà fine-tuning có thể điều chỉnh cho dataset mới bằng cùng lệnh gọi fit đã dùng ở trên. Giống các thành phần khác của Keras 3, model KerasHub chạy trên cả ba backend huấn luyện.

Keras so với TensorFlow và PyTorch#

  • TensorFlow: Framework đầy đủ với runtime, compiler và công cụ triển khai riêng như TensorFlow Serving và LiteRT. Keras là API mà nhiều người dùng TensorFlow viết model bằng API này, còn TensorFlow là một trong những engine chạy mã Keras.
  • PyTorch: Framework mà người dùng thường tự viết vòng lặp huấn luyện hoặc dùng thư viện như PyTorch Lightning. Keras cung cấp vòng lặp thông qua fit và có thể dùng PyTorch làm backend, vì vậy hai công cụ này không loại trừ lẫn nhau.
  • JAX: Thư viện của Google cung cấp các phép biến đổi hàm có thể kết hợp để vi phân, biên dịch XLA và vector hóa. JAX không có API layer hay huấn luyện tích hợp sẵn; Keras là một trong những cách bổ sung các API này.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning