TensorFlow Model Garden cung cấp triển khai nhiều mô hình máy học (ML) hiện đại để xử lý thị giác và ngôn ngữ tự nhiên (NLP), cũng như các công cụ quy trình làm việc để cho phép bạn nhanh chóng định cấu hình và chạy các mô hình đó trên bộ dữ liệu tiêu chuẩn. Cho dù bạn đang tìm cách chuẩn hiệu suất cho một mô hình nổi tiếng, xác minh kết quả của nghiên cứu được phát hành gần đây hoặc mở rộng các mô hình hiện có, thì Vườn mẫu có thể giúp bạn thúc đẩy nghiên cứu và ứng dụng ML của mình về phía trước.
Vườn mẫu bao gồm các tài nguyên sau dành cho các nhà phát triển máy học:
- Các mô hình chính thức về tầm nhìn và NLP, do các kỹ sư của Google duy trì
- Các mô hình nghiên cứu được xuất bản như một phần của các bài báo nghiên cứu ML
- Khung thử nghiệm đào tạo cho cấu hình đào tạo nhanh, có tính khai báo của các mô hình chính thức
- Hoạt động ML chuyên biệt để xử lý thị giác và ngôn ngữ tự nhiên (NLP)
- Quản lý vòng lặp đào tạo mô hình với Orbit
Các tài nguyên này được xây dựng để sử dụng với khung TensorFlow Core và tích hợp với các dự án phát triển TensorFlow hiện có của bạn. Các tài nguyên của Model Garden cũng được cung cấp theo giấy phép nguồn mở , vì vậy bạn có thể tự do mở rộng và phân phối các mô hình và công cụ.
Các mô hình ML thực tế chuyên sâu về mặt tính toán để đào tạo và chạy và có thể yêu cầu các bộ tăng tốc như Đơn vị xử lý đồ họa (GPU) và Đơn vị xử lý căng (TPU). Hầu hết các mô hình trong Vườn mẫu đều được đào tạo trên các tập dữ liệu lớn sử dụng TPU. Tuy nhiên, bạn cũng có thể đào tạo và chạy các mô hình này trên bộ xử lý GPU và CPU.
Mô hình Vườn mẫu
Các mô hình học máy trong Vườn mẫu bao gồm mã đầy đủ để bạn có thể thử nghiệm, đào tạo hoặc đào tạo lại chúng để nghiên cứu và thử nghiệm. Vườn mẫu bao gồm hai loại mô hình chính: mô hình chính thức và mô hình nghiên cứu .
Mô hình chính thức
Kho lưu trữ Mô hình Chính thức là một tập hợp các mô hình hiện đại, tập trung vào tầm nhìn và xử lý ngôn ngữ tự nhiên (NLP). Các mô hình này được triển khai bằng cách sử dụng các API cấp cao hiện tại của TensorFlow 2.x. Các thư viện mô hình trong kho này được tối ưu hóa để đạt hiệu suất nhanh và được các kỹ sư của Google tích cực duy trì. Các mô hình chính thức bao gồm siêu dữ liệu bổ sung mà bạn có thể sử dụng để định cấu hình nhanh các thử nghiệm bằng cách sử dụng khung thử nghiệm đào tạo Vườn mẫu.
Mô hình nghiên cứu
Kho lưu trữ Mô hình Nghiên cứu là một tập hợp các mô hình được xuất bản dưới dạng tài nguyên mã cho các bài nghiên cứu. Các mô hình này được thực hiện bằng cả TensorFlow 1.x và 2.x. Thư viện mô hình trong thư mục nghiên cứu được hỗ trợ bởi chủ sở hữu mã và cộng đồng nghiên cứu.
Khung thử nghiệm đào tạo
Khung thử nghiệm đào tạo của Vườn mẫu cho phép bạn nhanh chóng lắp ráp và chạy các thử nghiệm đào tạo bằng cách sử dụng các mô hình chính thức và bộ dữ liệu tiêu chuẩn của nó. Khung đào tạo sử dụng siêu dữ liệu bổ sung đi kèm với các mô hình chính thức của Vườn mẫu để cho phép bạn định cấu hình các mô hình một cách nhanh chóng bằng cách sử dụng mô hình lập trình khai báo. Bạn có thể xác định thử nghiệm đào tạo bằng cách sử dụng các lệnh Python trong thư viện Mô hình TensorFlow hoặc định cấu hình đào tạo bằng tệp cấu hình YAML, như ví dụ này.
Khung đào tạo sử dụng tfm.core.base_trainer.ExperimentConfig
làm đối tượng cấu hình, chứa các đối tượng cấu hình cấp cao nhất sau:
-
runtime
: Xác định phần cứng xử lý, chiến lược phân phối và các tối ưu hóa hiệu suất khác -
task
: Xác định mô hình, dữ liệu đào tạo, tổn thất và khởi tạo - trình
trainer
tạo: Xác định trình tối ưu hóa, vòng đào tạo, vòng đánh giá, tóm tắt và điểm kiểm tra
Để có ví dụ hoàn chỉnh bằng cách sử dụng khung thí nghiệm đào tạo Vườn Mẫu, hãy xem phần Phân loại hình ảnh với Hướng dẫn Vườn Mẫu . Để biết thông tin về khung thử nghiệm đào tạo, hãy xem tài liệu API mô hình TensorFlow . Nếu bạn đang tìm kiếm giải pháp để quản lý vòng lặp đào tạo cho các thử nghiệm đào tạo mô hình của mình, hãy xem Orbit .
Hoạt động ML chuyên biệt
Vườn mô hình chứa nhiều hoạt động tầm nhìn và NLP được thiết kế đặc biệt để thực hiện các mô hình hiện đại chạy hiệu quả trên GPU và TPU. Xem lại tài liệu API thư viện TensorFlow Models Vision để biết danh sách các hoạt động thị giác chuyên biệt. Xem lại tài liệu API Thư viện NLP của Mô hình TensorFlow để biết danh sách các hoạt động NLP . Các thư viện này cũng bao gồm các chức năng tiện ích bổ sung được sử dụng để xử lý dữ liệu tầm nhìn và NLP, đào tạo và thực thi mô hình.
Các vòng huấn luyện với Orbit
Công cụ Orbit là một thư viện linh hoạt, nhẹ được thiết kế để giúp viết các vòng huấn luyện tùy chỉnh dễ dàng hơn trong TensorFlow 2.x và hoạt động tốt với khung thử nghiệm huấn luyện Model Garden. Orbit xử lý các tác vụ đào tạo mô hình phổ biến như lưu các điểm kiểm tra, chạy đánh giá mô hình và thiết lập viết tóm tắt. Nó tích hợp liền mạch với tf.distribute
và hỗ trợ chạy trên các loại thiết bị khác nhau, bao gồm cả phần cứng CPU, GPU và TPU. Công cụ Orbit cũng là mã nguồn mở , vì vậy bạn có thể mở rộng và thích ứng với nhu cầu đào tạo mô hình của mình.
Thông thường, bạn đào tạo các mô hình TensorFlow bằng cách viết một vòng lặp đào tạo tùy chỉnh hoặc sử dụng chức năng Keras Model.fit cấp cao. Đối với các mô hình đơn giản, bạn có thể xác định và quản lý một vòng huấn luyện tùy chỉnh bằng các phương pháp TensorFlow cấp thấp như tf.GradientTape
hoặc tf.function
. Chức năng. Ngoài ra, bạn có thể sử dụng Keras Model.fit
cấp cao.
Tuy nhiên, nếu mô hình của bạn phức tạp và vòng lặp đào tạo của bạn yêu cầu kiểm soát hoặc tùy chỉnh linh hoạt hơn, thì bạn nên sử dụng Orbit. Bạn có thể xác định hầu hết vòng lặp đào tạo của mình theo lớp orbit.AbstractTrainer
hoặc orbit.StandardTrainer
. Tìm hiểu thêm về công cụ Orbit trong tài liệu API Orbit .