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, năng suất cao để giải quyết các vấn đề về học máy (ML), tập trung vào học sâu hiện đại. Keras bao gồm mọi bước của 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ụm GPU lớn và bạn có thể xuất các mẫu Keras để chạy trong trình duyệt hoặc trên thiết bị di động. Bạn cũng có thể cung cấp 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 các 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 phổ biến.
- Cung cấp thông báo lỗi rõ ràng, có thể hành động.
- Thực hiện theo nguyên tắc tiết lộ dần dần mức độ phức tạp: Thật dễ dàng để bắt đầu và bạn có thể hoàn thành các quy trình công việc nâng cao bằng cách tìm hiểu 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 học viên ML, bạn nên bắt đầu với Keras.
Có một vài trường hợp sử dụng (ví dụ: xây dựng 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 lõi TensorFlow 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 , thì bạn nên chọn Keras hơn.
Các thành phần API máy ảnh
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 chuyển đổi đầu vào/đầu ra đơn giản và một mô hình là một đồ thị tuần hoàn có hướng (DAG) của các lớp.
lớp
Lớp tf.keras.layers.Layer
là sự trừu tượng hóa cơ bản trong Keras. Layer
đóng gói 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 số đượ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 thể hiện của lớp làm thuộc tính của một lớp khác, thì 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ột mô hình, trong hoặc sau khi đào tạo, điều này làm cho mô hình có thể di động được.
người mẫu
Một 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 tạo 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 thức đá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 định 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:
- Gọi lại . Bạn có thể tận dụng các lệnh gọi lại tích hợp sẵn để dừng sớm, điểm kiểm tra mô hình và giám sát TensorBoard . Bạn cũng có thể triển khai 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 hợp nhất. 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
duy nhất, 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 sẵn, hãy xem phần Tùy chỉnh những gì diễn 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 khả dụng, hãy xem tham chiếu Keras API . Để tìm hiểu thêm về các dự án và sáng kiến Keras khác, 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 & đánh giá với 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 mặt 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 :