Keras là API cấp cao của nền tảng TensorFlow. Nó cung cấp một giao diện dễ tiếp cận, hiệu quả cao để giải quyết các vấn đề về máy học (ML), tập trung vào học sâu hiện đại. Keras bao gồm mọi bước trong quy trình học máy, từ xử lý dữ liệu đến điều chỉnh siêu tham số cho đến triển khai. Nó được phát triển với trọng tâm là cho phép thử nghiệm nhanh.
Với Keras, bạn có toàn quyền truy cập vào khả năng mở rộng và khả năng đa nền tảng của TensorFlow. Bạn có thể chạy Keras trên TPU Pod hoặc các cụm GPU lớn và bạn có thể xuất các mô hình Keras để chạy trong trình duyệt hoặc trên thiết bị di động. Bạn cũng có thể phục vụ các mô hình Keras thông qua API web.
Keras được thiết kế để giảm tải nhận thức bằng cách đạt được các mục tiêu sau:
- Cung cấp giao diện đơn giản, nhất quán.
- Giảm thiểu số lượng hành động cần thiết cho các trường hợp sử dụng thông thường.
- Cung cấp thông báo lỗi rõ ràng, có thể xử lý được.
- Tuân theo nguyên tắc trình bày dần dần về độ phức tạp: Bắt đầu thật dễ dàng và bạn có thể hoàn thành các quy trình làm việc nâng cao bằng cách học hỏi trong quá trình thực hiện.
- Giúp bạn viết mã ngắn gọn, dễ đọc.
Ai nên sử dụng Keras
Câu trả lời ngắn gọn là mọi người dùng TensorFlow nên sử dụng API Keras theo mặc định. Cho dù bạn là kỹ sư, nhà nghiên cứu hay người thực hành ML, bạn nên bắt đầu với Keras.
Có một số trường hợp sử dụng (ví dụ: xây dựng các công cụ trên TensorFlow hoặc phát triển nền tảng hiệu suất cao của riêng bạn) yêu cầu API TensorFlow Core cấp thấp. Nhưng nếu trường hợp sử dụng của bạn không thuộc một trong các ứng dụng API lõi , bạn nên ưu tiên Keras.
Các thành phần API Keras
Cấu trúc dữ liệu cốt lõi của Keras là các lớp và mô hình . Một lớp là một phép biến đổi đầu vào/đầu ra đơn giản và một mô hình là một biểu đồ tuần hoàn có hướng (DAG) của các lớp.
Lớp
Lớp tf.keras.layers.Layer
là lớp trừu tượng cơ bản trong Keras. Một Layer
bao gồm một trạng thái (trọng số) và một số tính toán (được xác định trong phương thức tf.keras.layers.Layer.call
).
Trọng lượng được tạo bởi các lớp có thể huấn luyện được hoặc không huấn luyện được. Các lớp có thể kết hợp đệ quy: Nếu bạn chỉ định một phiên bản lớp làm thuộc tính của lớp khác, lớp bên ngoài sẽ bắt đầu theo dõi các trọng số được tạo bởi lớp bên trong.
Bạn cũng có thể sử dụng các lớp để xử lý các tác vụ tiền xử lý dữ liệu như chuẩn hóa và vector hóa văn bản. Các lớp tiền xử lý có thể được đưa trực tiếp vào mô hình, trong hoặc sau khi đào tạo, điều này làm cho mô hình có thể di chuyển được.
Người mẫu
Mô hình là một đối tượng nhóm các lớp lại với nhau và có thể được huấn luyện trên dữ liệu.
Loại mô hình đơn giản nhất là mô hình Sequential
, là một chồng các lớp tuyến tính. Đối với các kiến trúc phức tạp hơn, bạn có thể sử dụng API chức năng Keras , cho phép bạn xây dựng các biểu đồ lớp tùy ý hoặc sử dụng phân lớp để viết mô hình từ đầu .
Lớp tf.keras.Model
có các phương pháp đánh giá và đào tạo tích hợp:
-
tf.keras.Model.fit
: Huấn luyện mô hình cho một số kỷ nguyên cố định. -
tf.keras.Model.predict
: Tạo dự đoán đầu ra cho các mẫu đầu vào. -
tf.keras.Model.evaluate
: Trả về giá trị tổn thất và số liệu cho mô hình; được cấu hình thông qua phương thứctf.keras.Model.compile
.
Những phương pháp này cung cấp cho bạn quyền truy cập vào các tính năng đào tạo tích hợp sau:
- Cuộc gọi lại . Bạn có thể tận dụng các lệnh gọi lại tích hợp để dừng sớm, kiểm tra mô hình và giám sát TensorBoard . Bạn cũng có thể triển khai các lệnh gọi lại tùy chỉnh .
- Đào tạo phân tán . Bạn có thể dễ dàng mở rộng quy mô đào tạo của mình lên nhiều GPU, TPU hoặc thiết bị.
- Bước cầu chì. Với đối số
steps_per_execution
trongtf.keras.Model.compile
, bạn có thể xử lý nhiều lô trong một lệnh gọitf.function
, giúp cải thiện đáng kể việc sử dụng thiết bị trên TPU.
Để biết tổng quan chi tiết về cách sử dụng fit
, hãy xem hướng dẫn đào tạo và đánh giá . Để tìm hiểu cách tùy chỉnh các vòng đào tạo và đánh giá tích hợp, hãy xem Tùy chỉnh những gì xảy ra trong fit()
.
Các API và công cụ khác
Keras cung cấp nhiều API và công cụ khác để học sâu, bao gồm:
Để biết danh sách đầy đủ các API có sẵn, hãy xem tài liệu tham khảo API Keras . Để tìm hiểu thêm về các dự án và sáng kiến khác của Keras, hãy xem Hệ sinh thái Keras .
Bước tiếp theo
Để bắt đầu sử dụng Keras với TensorFlow, hãy xem các chủ đề sau:
- Mô hình tuần tự
- API chức năng
- Đào tạo và đánh giá bằng các phương pháp tích hợp
- Tạo các lớp và mô hình mới thông qua phân lớp
- Tuần tự hóa và lưu
- Làm việc với các lớp tiền xử lý
- Tùy chỉnh những gì xảy ra trong fit()
- Viết một vòng lặp đào tạo từ đầu
- Làm việc với RNN
- Hiểu về mặt nạ và phần đệm
- Viết cuộc gọi lại của riêng bạn
- Chuyển giao học tập & tinh chỉnh
- Đa GPU và đào tạo phân tán
Để tìm hiểu thêm về Keras, hãy xem các chủ đề sau tại keras.io :