Để đào tạo mô hình ghi nhãn hình ảnh, bạn cung cấp cho AutoML Vision Edge một tập hợp các hình ảnh và nhãn tương ứng. AutoML Vision Edge sử dụng tập dữ liệu này để đào tạo một mô hình mới trên đám mây mà bạn có thể sử dụng để ghi nhãn hình ảnh trên thiết bị trong ứng dụng của mình. (Xem phần Tổng quan để biết thông tin chung về tính năng này.)
AutoML Vision Edge là một dịch vụ Google Cloud. Việc sử dụng dịch vụ phải tuân theo Thỏa thuận cấp phép Google Cloud Platform và Điều khoản dành riêng cho dịch vụ và được lập hóa đơn tương ứng. Để biết thông tin thanh toán, hãy xem trang Định giá AutoML.
Trước khi bắt đầu
Nếu bạn chưa có dự án Firebase hoặc Google Cloud, hãy tạo một dự án trong bảng điều khiển Firebase .
Tự làm quen với các nguyên tắc được trình bày trong Hướng dẫn ML toàn diện - AutoML .
Nếu bạn chỉ muốn dùng thử AutoML Vision Edge và không có dữ liệu đào tạo của riêng mình, hãy tải xuống tập dữ liệu mẫu, chẳng hạn như một trong các tập dữ liệu sau:
- Bộ dữ liệu mẫu hình ảnh hoa chính thức của TensorFlow
- Bộ dữ liệu bảng chữ cái Ngôn ngữ Ký hiệu Hoa Kỳ (ASL) này
Bạn có thể tìm thêm bộ dữ liệu được lưu trữ trên Kaggle .
1. Tập hợp dữ liệu đào tạo của bạn
Trước tiên, bạn cần tập hợp một tập dữ liệu huấn luyện gồm các hình ảnh được gắn nhãn. Hãy ghi nhớ các nguyên tắc sau:
Các hình ảnh phải ở một trong các định dạng sau: JPEG, PNG, GIF, BMP, ICO.
Mỗi hình ảnh phải từ 30MB trở xuống. Lưu ý rằng AutoML Vision Edge thu nhỏ hầu hết các hình ảnh trong quá trình tiền xử lý, vì vậy nhìn chung không có lợi về độ chính xác khi cung cấp hình ảnh có độ phân giải rất cao.
Bao gồm ít nhất 10 và tốt nhất là 100 ví dụ trở lên cho mỗi nhãn.
Bao gồm nhiều góc độ, độ phân giải và hình nền cho mỗi nhãn.
Dữ liệu đào tạo phải càng gần càng tốt với dữ liệu mà các dự đoán sẽ được thực hiện. Ví dụ: nếu trường hợp sử dụng của bạn liên quan đến hình ảnh mờ và có độ phân giải thấp (chẳng hạn như từ camera an ninh), thì dữ liệu đào tạo của bạn phải bao gồm hình ảnh mờ, độ phân giải thấp.
Các mô hình do AutoML Vision Edge tạo ra được tối ưu hóa cho ảnh chụp các đối tượng trong thế giới thực. Chúng có thể không hoạt động tốt đối với chụp X-quang, bản vẽ tay, tài liệu được quét, biên lai, v.v.
Ngoài ra, các mô hình nói chung không thể dự đoán các nhãn mà con người không thể gán. Vì vậy, nếu con người không thể gán nhãn bằng cách nhìn vào hình ảnh trong 1-2 giây, thì mô hình có thể cũng không được đào tạo để làm điều đó.
Khi bạn đã sẵn sàng hình ảnh đào tạo của mình, hãy chuẩn bị chúng để nhập vào Firebase. Bạn có ba lựa chọn:
Tùy chọn 1: Lưu trữ zip có cấu trúc
Sắp xếp các hình ảnh đào tạo của bạn thành các thư mục, mỗi thư mục được đặt tên theo một nhãn và chứa các hình ảnh là ví dụ về nhãn đó. Sau đó, nén cấu trúc thư mục vào kho lưu trữ zip.
Tên thư mục trong kho lưu trữ zip này có thể dài tối đa 32 ký tự ASCII và chỉ có thể chứa các ký tự chữ và số và ký tự gạch dưới ( _
).
Ví dụ:
my_training_data.zip |____accordion | |____001.jpg | |____002.jpg | |____003.jpg |____bass_guitar | |____hofner.gif | |____p-bass.png |____clavier |____well-tempered.jpg |____well-tempered (1).jpg |____well-tempered (2).jpg
Tùy chọn 2: Lưu trữ đám mây với chỉ mục CSV
Tải hình ảnh đào tạo của bạn lên Google Cloud Storage và chuẩn bị tệp CSV liệt kê URL của từng hình ảnh và nhãn chính xác cho từng hình ảnh nếu muốn. Tùy chọn này hữu ích khi sử dụng bộ dữ liệu rất lớn.
Ví dụ: tải hình ảnh của bạn lên Cloud Storage và chuẩn bị tệp CSV như sau:
gs://your-training-data-bucket/001.jpg,accordion gs://your-training-data-bucket/002.jpg,accordion gs://your-training-data-bucket/003.jpg,accordion gs://your-training-data-bucket/hofner.gif,bass_guitar gs://your-training-data-bucket/p-bass.png,bass_guitar gs://your-training-data-bucket/well-tempered.jpg,clavier gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier
Các hình ảnh phải được lưu trữ trong một thùng là một phần của dự án Google Cloud tương ứng với dự án Firebase của bạn.
Xem phần Chuẩn bị dữ liệu đào tạo của bạn trong tài liệu Cloud AutoML Vision để biết thêm thông tin về cách chuẩn bị tệp CSV.
Tùy chọn 3: Hình ảnh chưa được gắn nhãn
Gắn nhãn hình ảnh đào tạo của bạn trong bảng điều khiển Firebase sau khi bạn tải chúng lên, riêng lẻ hoặc trong tệp zip không có cấu trúc. Xem bước tiếp theo.
2. Huấn luyện người mẫu của bạn
Tiếp theo, đào tạo một mô hình bằng hình ảnh của bạn:
Mở trang Bộ dữ liệu Tầm nhìn trong Google Cloud Console. Chọn dự án của bạn khi được nhắc.
Nhấp vào Tập dữ liệu mới , cung cấp tên cho tập dữ liệu, chọn loại mô hình bạn muốn đào tạo và nhấp vào Tạo tập dữ liệu .
Trên tab Nhập của tập dữ liệu, hãy tải lên kho lưu trữ zip các hình ảnh đào tạo của bạn hoặc tệp CSV chứa các vị trí Bộ nhớ đám mây mà bạn đã tải chúng lên. Xem Tập hợp dữ liệu đào tạo của bạn .
Sau khi tác vụ nhập hoàn tất, hãy sử dụng tab Hình ảnh để xác minh dữ liệu đào tạo và gắn nhãn cho bất kỳ hình ảnh nào chưa được gắn nhãn.
Trên tab Đào tạo , nhấp vào Bắt đầu đào tạo .
Đặt tên cho mô hình và chọn loại mô hình Edge .
Định cấu hình các cài đặt đào tạo sau, chi phối hiệu suất của mô hình đã tạo:
Tối ưu hóa mô hình cho... Cấu hình mô hình để sử dụng. Bạn có thể đào tạo các mô hình nhanh hơn, nhỏ hơn khi độ trễ thấp hoặc kích thước gói nhỏ là quan trọng hoặc các mô hình chậm hơn, lớn hơn khi độ chính xác là quan trọng nhất. Ngân sách giờ nút Thời gian tối đa, tính bằng giờ tính toán, để đào tạo mô hình. Thời gian đào tạo nhiều hơn thường dẫn đến một mô hình chính xác hơn.
Lưu ý rằng đào tạo có thể được hoàn thành trong thời gian ngắn hơn quy định nếu hệ thống xác định rằng mô hình được tối ưu hóa và đào tạo bổ sung sẽ không cải thiện độ chính xác. Bạn chỉ bị tính phí cho số giờ thực sự được sử dụng.
Thời gian đào tạo điển hình Bộ rất nhỏ 1 giờ 500 hình ảnh 2 giờ 1.000 hình ảnh 3 giờ 5.000 hình ảnh 6 tiếng 10.000 hình ảnh 7 giờ 50.000 hình ảnh 11 giờ 100.000 hình ảnh 13 giờ 1.000.000 hình ảnh 18 giờ
3. Đánh giá mô hình của bạn
Khi quá trình đào tạo hoàn tất, bạn có thể nhấp vào tab Đánh giá để xem các chỉ số hiệu suất cho mô hình.
Một cách sử dụng quan trọng của trang này là xác định ngưỡng tin cậy phù hợp nhất với mô hình của bạn. Ngưỡng tin cậy là độ tin cậy tối thiểu mà mô hình phải có để gán nhãn cho hình ảnh. Bằng cách di chuyển thanh trượt Ngưỡng tin cậy , bạn có thể thấy các ngưỡng khác nhau ảnh hưởng như thế nào đến hiệu suất của mô hình. Hiệu suất của mô hình được đo bằng hai số liệu: độ chính xác và độ thu hồi .
Trong bối cảnh phân loại hình ảnh, độ chính xác là tỷ lệ giữa số lượng hình ảnh được gắn nhãn chính xác với số lượng hình ảnh mà mô hình đã gắn nhãn cho ngưỡng đã chọn. Khi một mô hình có độ chính xác cao, nó sẽ ít gán nhãn sai hơn (ít thông báo sai hơn).
Nhớ lại là tỷ lệ giữa số lượng hình ảnh được gắn nhãn chính xác với số lượng hình ảnh có nội dung mà mô hình có thể gắn nhãn. Khi một mô hình có khả năng thu hồi cao, nó sẽ ít gặp lỗi hơn khi gán bất kỳ nhãn nào (ít âm tính giả hơn).
Việc bạn tối ưu hóa để đạt được độ chính xác hay thu hồi sẽ tùy thuộc vào trường hợp sử dụng của bạn. Xem hướng dẫn dành cho người mới bắt đầu AutoML Vision và hướng dẫn ML toàn diện - AutoML để biết thêm thông tin.
Khi bạn tìm thấy ngưỡng tin cậy tạo ra số liệu mà bạn cảm thấy hài lòng, hãy ghi lại ngưỡng đó; bạn sẽ sử dụng ngưỡng tin cậy để định cấu hình mô hình trong ứng dụng của mình. (Bạn có thể sử dụng công cụ này bất kỳ lúc nào để nhận giá trị ngưỡng phù hợp.)
4. Xuất bản hoặc tải xuống mô hình của bạn
Nếu hài lòng với hiệu suất của mô hình và muốn sử dụng mô hình đó trong một ứng dụng, thì bạn có ba tùy chọn, từ đó bạn có thể chọn bất kỳ cách kết hợp nào: triển khai mô hình để dự đoán trực tuyến, xuất bản mô hình lên Firebase hoặc tải xuống mô hình và đóng gói mô hình đó với ứng dụng của bạn.
Triển khai mô hình
Trên tab Kiểm tra và sử dụng của tập dữ liệu, bạn có thể triển khai mô hình của mình để dự đoán trực tuyến, chạy mô hình của bạn trên đám mây. Tùy chọn này có trong tài liệu Cloud AutoML . Các tài liệu trên trang web này giải quyết hai tùy chọn còn lại.
Xuất bản mô hình
Bằng cách xuất bản mô hình lên Firebase, bạn có thể cập nhật mô hình mà không cần phát hành phiên bản ứng dụng mới và bạn có thể sử dụng Cấu hình từ xa và Thử nghiệm A/B để tự động phân phát các mô hình khác nhau cho các nhóm người dùng khác nhau.
Nếu bạn chọn chỉ cung cấp mô hình bằng cách lưu trữ mô hình đó với Firebase và không gói mô hình đó với ứng dụng của mình, thì bạn có thể giảm kích thước tải xuống ban đầu của ứng dụng. Tuy nhiên, xin lưu ý rằng nếu mô hình không đi kèm với ứng dụng của bạn, thì bất kỳ chức năng nào liên quan đến mô hình sẽ không khả dụng cho đến khi ứng dụng của bạn tải xuống mô hình lần đầu tiên.
Để xuất bản mô hình của mình, bạn có thể sử dụng một trong hai phương pháp sau:
- Tải xuống mô hình TF Lite từ trang Kiểm tra và sử dụng tập dữ liệu của bạn trong Google Cloud Console, sau đó tải mô hình lên trên trang Mô hình tùy chỉnh của bảng điều khiển Firebase. Đây thường là cách dễ nhất để xuất bản một mô hình duy nhất.
- Xuất bản mô hình trực tiếp từ dự án Google Cloud của bạn lên Firebase bằng SDK quản trị. Bạn có thể sử dụng phương pháp này để xuất bản hàng loạt một số mô hình hoặc để giúp tạo các quy trình xuất bản tự động.
Để xuất bản mô hình với API quản lý mô hình SDK dành cho quản trị viên:
Xuất bản mô hình.
Bạn sẽ cần chỉ định mã định danh tài nguyên của mô hình, là một chuỗi giống như ví dụ sau:
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
Số dự án của bộ chứa Lưu trữ đám mây chứa mô hình. Đây có thể là dự án Firebase của bạn hoặc một dự án Google Cloud khác. Bạn có thể tìm thấy giá trị này trên trang Cài đặt của bảng điều khiển Firebase hoặc bảng điều khiển Google Cloud Console. MODEL_ID
ID của mô hình mà bạn nhận được từ AutoML Cloud API. con trăn
# First, import and initialize the SDK. # Get a reference to the AutoML model source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format( # See above for information on these values. project_number, model_id )) # Create the model object tflite_format = ml.TFLiteFormat(model_source=source) model = ml.Model( display_name="example_model", # This is the name you will use from your app to load the model. tags=["examples"], # Optional tags for easier management. model_format=tflite_format) # Add the model to your Firebase project and publish it new_model = ml.create_model(model) new_model.wait_for_unlocked() ml.publish_model(new_model.model_id)
Node.js
// First, import and initialize the SDK. (async () => { // Get a reference to the AutoML model. See above for information on these // values. const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`; // Create the model object and add the model to your Firebase project. const model = await ml.createModel({ displayName: 'example_model', // This is the name you use from your app to load the model. tags: ['examples'], // Optional tags for easier management. tfliteModel: { automlModel: automlModel }, }); // Wait for the model to be ready. await model.waitForUnlocked(); // Publish the model. await ml.publishModel(model.modelId); process.exit(); })().catch(console.error);
Tải xuống và kết hợp mô hình với ứng dụng của bạn
Bằng cách kết hợp mô hình với ứng dụng của mình, bạn có thể đảm bảo các tính năng ML của ứng dụng vẫn hoạt động khi mô hình được lưu trữ trên Firebase không khả dụng.
Nếu cả hai bạn đều xuất bản mô hình và gói mô hình đó với ứng dụng của mình, thì ứng dụng sẽ sử dụng phiên bản mới nhất hiện có.
Để tải xuống mô hình của bạn, hãy nhấp vào TF Lite trên trang Kiểm tra và sử dụng tập dữ liệu của bạn.
Bước tiếp theo
Bây giờ bạn đã xuất bản hoặc tải xuống mô hình, hãy tìm hiểu cách sử dụng mô hình trong ứng dụng iOS+ và Android của bạn.