Các mô hình tùy chỉnh sử dụng Bộ công cụ máy học

Theo mặc định, các API của Bộ công cụ máy học sử dụng các mô hình máy học đã qua đào tạo của Google. Những mô hình này được thiết kế để bao gồm nhiều ứng dụng. Tuy nhiên, một số trường hợp sử dụng yêu cầu các mô hình được nhắm mục tiêu cụ thể hơn. Do đó, một số API Bộ công cụ máy học hiện cho phép bạn thay thế các mô hình mặc định bằng các mô hình TensorFlow Lite tùy chỉnh.

Cả hai tính năng Gắn nhãn hình ảnh và API Phát hiện đối tượng và amp; Theo dõi API đều hỗ trợ các mô hình phân loại hình ảnh tùy chỉnh. Các mô hình này tương thích với việc lựa chọn mô hình đã được đào tạo trước chất lượng cao trên TensorFlow Hub hoặc mô hình tuỳ chỉnh của riêng bạn được đào tạo bằng TensorFlow, AutoML Vision Edge hoặc TensorFlow Lite.

Nếu bạn cần một giải pháp tuỳ chỉnh cho các miền hoặc trường hợp sử dụng khác, hãy truy cập vào trang Máy học trên thiết bị để xem hướng dẫn về tất cả giải pháp và công cụ của Google dành cho công nghệ máy học trên thiết bị.

Lợi ích của việc sử dụng Bộ công cụ máy học với các mô hình tùy chỉnh

Lợi ích của việc sử dụng mô hình phân loại hình ảnh tuỳ chỉnh bằng Bộ công cụ máy học là:

  • API cấp cao dễ sử dụng – Không cần xử lý dữ liệu đầu vào/đầu ra của mô hình cấp thấp, xử lý hình ảnh trước/sau hoặc xử lý quy trình.
  • Bạn không cần phải lo lắng về việc ánh xạ nhãn, Bộ công cụ máy học sẽ trích xuất nhãn từ siêu dữ liệu mô hình TFLite và giúp bạn ánh xạ.
  • Hỗ trợ các mô hình tuỳ chỉnh từ nhiều nguồn, từ các mô hình Đào tạo trước, xuất bản trên TensorFlow Hub đến các mô hình mới được đào tạo bằng TensorFlow, AutoML Vision Edge hoặc TensorFlow Lite Model Maker.
  • Hỗ trợ các mô hình được lưu trữ bằng Firebase. Giảm kích thước tệp APK bằng cách tải mô hình xuống theo yêu cầu. Đẩy bản cập nhật mô hình mà không cần phát hành lại ứng dụng và thực hiện thử nghiệm A/B dễ dàng bằng Cấu hình từ xa Firebase.
  • Được tối ưu hoá để tích hợp với API Máy ảnh của Android.

Cụ thể, đối với tính năng Phát hiện và theo dõi đối tượng, cụ thể là:

  • Cải thiện độ chính xác của cách phân loại bằng cách xác định vị trí của các đối tượng trước tiên và chỉ chạy trình phân loại trên khu vực hình ảnh có liên quan.
  • Cung cấp trải nghiệm tương tác theo thời gian thực bằng cách cung cấp cho người dùng phản hồi tức thì về các đối tượng khi chúng được phát hiện và phân loại.

Sử dụng mô hình phân loại hình ảnh được đào tạo trước

Bạn có thể sử dụng các mô hình TensorFlow Lite đã đào tạo trước, miễn là các mô hình đó đáp ứng một bộ tiêu chí. Thông qua TensorFlow Hub, chúng tôi cung cấp một bộ các mô hình đã được rà soát kỹ lưỡng – từ Google hoặc các nhà sáng tạo mô hình khác – đáp ứng các tiêu chí này.

Sử dụng mô hình được xuất bản trên TensorFlow Hub

TensorFlow Hub cung cấp nhiều mô hình phân loại hình ảnh được đào tạo trước – từ các nhà sáng tạo mô hình khác nhau – có thể dùng với API Gắn nhãn hình ảnh, API Phát hiện và theo dõi đối tượng. Làm theo các bước sau.

  1. Chọn một mô hình từ bộ sưu tập các mô hình tương thích với Bộ công cụ máy học.
  2. Tải tệp mô hình .tflite xuống từ trang chi tiết mô hình. Nếu có, hãy chọn một định dạng mô hình có siêu dữ liệu.
  3. Làm theo hướng dẫn của chúng tôi dành cho API gắn nhãn hình ảnh hoặc API phát hiện và theo dõi đối tượng về cách gói tệp mô hình với dự án của bạn và sử dụng tệp đó trong ứng dụng Android hoặc iOS.

Đào tạo mô hình phân loại hình ảnh của riêng bạn

Nếu không có mô hình phân loại hình ảnh được đào tạo trước nào phù hợp với nhu cầu của bạn, có nhiều cách để huấn luyện mô hình TensorFlow Lite của riêng bạn, một số cách trong đó được nêu và thảo luận chi tiết hơn bên dưới.

Các cách để huấn luyện mô hình phân loại hình ảnh của riêng bạn
AutoVision Edge (AutoML Vision Edge)
  • Thông qua Google Cloud AI
  • Tạo mô hình phân loại hình ảnh hiện đại
  • Dễ dàng đánh giá giữa hiệu suất và kích thước
Trình tạo mô hình TeenorFlow Lite
  • Đào tạo lại một mô hình (chuyển đổi học tập), tốn ít thời gian hơn và yêu cầu ít dữ liệu hơn so với đào tạo lại một mô hình từ đầu
Chuyển đổi mô hình TensorFlow thành TensorFlow Lite
  • Đào tạo một mô hình bằng TensorFlow và sau đó chuyển đổi mô hình đó thành TensorFlow Lite

AutoML Vision Edge

Các mô hình phân loại hình ảnh được đào tạo bằng AutoML Vision Edge được các mô hình tùy chỉnh hỗ trợ trong API Gắn nhãn hình ảnhAPI Phát hiện và theo dõi đối tượng. Các API này cũng hỗ trợ việc tải mô hình được lưu trữ bằng cách triển khai mô hình Firebase.

Để tìm hiểu thêm về cách sử dụng mô hình được huấn luyện bằng AutoML Vision Edge trong ứng dụng Android và iOS, hãy làm theo hướng dẫn về mô hình tuỳ chỉnh cho từng API, tuỳ thuộc vào trường hợp sử dụng của bạn.

Trình tạo mô hình TensorFlow Lite

Thư viện Trình tạo mô hình TFLite đơn giản hoá quá trình điều chỉnh và chuyển đổi mô hình mạng nơ-ron TensorFlow thành dữ liệu đầu vào cụ thể khi triển khai mô hình này cho các ứng dụng máy học trên thiết bị. Bạn có thể làm theo Colab để phân loại hình ảnh bằng Trình tạo mô hình TensorFlow Lite.

Để tìm hiểu thêm về cách sử dụng mô hình được đào tạo với Trình tạo mô hình trong các ứng dụng Android và iOS của bạn, hãy làm theo hướng dẫn của chúng tôi dành cho API gắn nhãn hình ảnh hoặc API phát hiện và theo dõi đối tượng, tùy thuộc vào trường hợp sử dụng của bạn.

Mô hình được tạo bằng trình chuyển đổi TensorFlow Lite

Nếu đang có mô hình phân loại hình ảnh TensorFlow, bạn có thể chuyển đổi mô hình đó bằng trình chuyển đổi TelesorFlow Lite. Hãy đảm bảo rằng mô hình đã tạo đáp ứng các yêu cầu về khả năng tương thích dưới đây.

Để tìm hiểu thêm về cách sử dụng mô hình TensorFlow Lite trong ứng dụng Android và iOS của bạn, hãy làm theo hướng dẫn của chúng tôi dành cho API gắn nhãn hình ảnh hoặc API phát hiện và theo dõi đối tượng, tùy thuộc vào trường hợp sử dụng của bạn.

Khả năng tương thích với mô hình TensorFlow Lite

Bạn có thể sử dụng bất kỳ mô hình phân loại hình ảnh TensorFlow Lite nào đã được đào tạo trước, miễn là mô hình đó đáp ứng những yêu cầu sau:

Tensor

  • Mô hình này chỉ được có một tensor đầu vào với các điều kiện ràng buộc sau:
    • Dữ liệu ở định dạng pixel RGB.
    • Dữ liệu thuộc loại UINT8 hoặc FLOAT32. Nếu loại tensor đầu vào là FLOAT32, loại tensor này phải chỉ định Giản hoá bằng cách đính kèm Siêu dữ liệu.
    • Tensor có 4 kích thước : BxHxWxC, trong đó:
      • B là kích thước lô. Giá trị này phải là 1 (không thể dự đoán các lô lớn hơn).
      • W và H là chiều rộng và chiều cao đầu vào.
      • C là số kênh dự kiến. Giá trị này phải là 3.
  • Mô hình phải có ít nhất một tensor đầu ra với các lớp N và 2 hoặc 4 kích thước:
    • (1xN)
    • (1x1x1xN)

Siêu dữ liệu

Bạn có thể thêm siêu dữ liệu vào tệp TensorFlow Lite như đã giải thích trong phần Thêm siêu dữ liệu vào mô hình TensorFlow Lite.

Để sử dụng một mô hình với tensor đầu vào FLOAT32, bạn phải chỉ định normalizationOptions trong siêu dữ liệu.

Bạn cũng nên đính kèm siêu dữ liệu này vào tensor đầu ra TensorMetadata:

  • Một bản đồ nhãn chỉ định tên của từng lớp đầu ra, dưới dạng một AssociatedFile có loại TENSOR_AXIS_labels (nếu không thì chỉ trả về các chỉ mục của lớp đầu ra bằng số)
  • Ngưỡng điểm mặc định thấp hơn kết quả được coi là có độ tin cậy quá thấp để được trả về, là ProcessUnit với ScoreThresholdingOptions