Để huấn luyện một mô hình gắn nhãn hình ảnh, bạn cung cấp cho AutoML Vision Edge một tập hợp hình ảnh và nhãn tương ứng. AutoML Vision Edge sử dụng tập dữ liệu này để huấn luyện một mô hình mới trên đám mây mà bạn có thể sử dụng để gắn nhãn hình ảnh trên thiết bị trong . (Xem bài viết 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ụ đám mây. Việc sử dụng dịch vụ phải tuân theo Thoả thuận cấp phép của Google Cloud Platform và Điều khoản dành riêng cho dịch vụ, và lập hoá đơn cho phù hợp. Để biết thông tin thanh toán, hãy xem AutoML Giá .
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.
Làm quen với các nguyên tắc được trình bày trong Hướng dẫn về học máy toàn diện – AutoML.
Nếu bạn chỉ muốn dùng thử AutoML Vision Edge mà không có chương trình đào tạo riêng hãy tải tập dữ liệu mẫu xuống, chẳng hạn như một trong các dữ liệu sau:
- Tập dữ liệu ví dụ về hình ảnh hoa chính thức của TensorFlow
- Tập dữ liệu bảng chữ cái Ngôn ngữ ký hiệu Mỹ (ASL) này
Bạn có thể tìm thêm tập dữ liệu được lưu trữ trên Kaggle.
1. Tập hợp dữ liệu huấn luyệ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 những hình ảnh có gắn nhãn. Giữ nguyên hãy lưu ý các nguyên tắc sau:
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 có kích thước từ 30 MB trở xuống. Lưu ý rằng AutoML Vision Edge sẽ giảm quy mô hầu hết hình ảnh trong quá trình tiền xử lý, nên thường sẽ không có lợi cho độ chính xác cung cấp hình ảnh có độ phân giải rất cao.
Đưa vào ít nhất 10 và tốt nhất là 100 ví dụ trở lên về từng nhãn.
Thêm nhiều góc, độ phân giải và nền cho mỗi nhãn.
Dữ liệu huấn luyện càng giống với dữ liệu mà các dự đoán sẽ được đưa ra. Ví dụ: nếu trường hợp sử dụng của bạn liên quan đến việc bị mờ và hình ảnh có độ phân giải thấp (chẳng hạn như từ camera an ninh), dữ liệu đào tạo của bạn nên bao gồm hình ảnh mờ, có độ phân giải thấp.
Các mô hình do AutoML Vision Edge tạo ra được tối ưu hoá cho ảnh chụp của đối tượng trong thế giới thực. Chúng có thể không phù hợp khi chụp X-quang, vẽ tay, tài liệu được quét, biên nhận, v.v.
Ngoài ra, các mô hình thường cũng không thể dự đoán nhãn mà con người không thể gán. Vì vậy, nếu người dùng không thể gắn nhãn bằng cách nhìn vào hình ảnh trong 1-2 giây, mô hình nào cũng không thể được huấn luyện để làm điều đó.
Khi bạn đã chuẩn bị sẵn hình ảnh huấn luyện, hãy chuẩn bị hình ảnh đó để nhập vào Firebase. Bạn có 3 lựa chọn:
Cách 1: Tệp lưu trữ zip có cấu trúc
Sắp xếp hình ảnh huấn luyện thành các thư mục, mỗi thư mục được đặt tên theo một nhãn và có chứa hình ảnh ví dụ về nhãn đó. Sau đó, nén thư mục thành một tệp lưu trữ zip.
Tên thư mục trong tệp lưu trữ zip này có thể dài tối đa 32 ký tự ASCII
và chỉ có thể chứa ký tự chữ-số và ký tự dấu 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
Cách 2: Cloud Storage có chỉ mục CSV
Tải hình ảnh tập huấn lên Google Cloud Storage và chuẩn bị một tệp CSV liệt kê URL của mỗi hình ảnh và tuỳ ý chính xác nhãn cho mỗi ảnh. Tuỳ chọn này rất hữu ích khi sử dụng số lượng thư lớn tập dữ liệu.
Ví dụ: tải hình ảnh của bạn lên Cloud Storage và chuẩn bị một tệp CSV như 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
Bạn phải lưu trữ hình ảnh trong một bộ chứa thuộc dự án Firebase dự án Google Cloud tương ứng.
Xem phần Chuẩn bị dữ liệu huấn luyện trong Cloud AutoML Tài liệu về thị giác để biết thêm thông tin về cách chuẩn bị tệp CSV.
Cách 3: Hình ảnh chưa được gắn nhãn
Gắn nhãn hình ảnh đào tạo trong bảng điều khiển Firebase sau khi tải 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 mô hình
Tiếp theo, hãy huấn luyện một mô hình bằng hình ảnh của bạn:
Mở Tập dữ liệu thị giác trong bảng điều khiển Google Cloud. Chọn dự án của bạn khi được nhắc.
Nhấp vào Tập dữ liệu mới, đặt tên cho tập dữ liệu, chọn loại mô hình mà bạn muốn huấn luyện rồi 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 tệp lưu trữ zip của hình ảnh đào tạo hoặc tệp CSV chứa Cloud Storage vị trí mà bạn đã tải ảnh lên. Hãy xem phần Tập hợp dữ liệu huấn luyện của bạn.
Sau khi nhiệm vụ nhập hoàn tất, hãy sử dụng thẻ Hình ảnh để xác minh dữ liệu huấn luyện và gắn nhãn cho mọi hình ảnh chưa gắn nhãn.
Trên thẻ Đào tạo, hãy 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 chế độ cài đặt huấn luyện chi phối hiệu suất sau đây của mô hình đã tạo:
Tối ưu hoá mô hình cho... Cấu hình mô hình sẽ sử dụng. Bạn có thể đào tạo nhanh hơn, nhỏ hơn các mô hình có độ 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ờ cho nút Thời gian tối đa (tính bằng giờ điện toán) để huấn luyện mô hình. Thời gian đào tạo càng dài thì kết quả thường chính xác hơn mô hình.
Xin lưu ý rằng bạn có thể hoàn thành khoá đào tạo trong thời gian ít hơn thời gian đã chỉ định thời gian nếu hệ thống xác định rằng mô hình đã được tối ưu hoá và việc đào tạo bổ sung sẽ không cải thiện độ chính xác. Bạn được tính phí chỉ cho giờ thực sự được sử dụng.
Thời gian đào tạo thông thường Tập hợp rất nhỏ 1 giờ 500 hình ảnh 2 giờ 1.000 hình ảnh 3 giờ 5.000 hình ảnh 6 giờ 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
Khi quá trình đào tạo hoàn tất, bạn có thể nhấp vào thẻ Đánh giá để xem chỉ số hiệu suất cho mô hình.
Một mụ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 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 cần phải có để gán nhãn cho hình ảnh. Bằng cách chuyển Ngưỡng tin cậy thanh trượt, bạn có thể xem 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 lường bằng hai chỉ số: độ chính xác và mức độ ghi lại.
Trong ngữ cảnh phân loại hình ảnh, độ chính xác là tỷ lệ của số 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 dựa trên ngưỡng đã chọn. Khi một mô hình có độ chính xác cao, mô hình đó sẽ gán nhãn không chính xác thường xuyên hơn (ít kết quả dương tính giả).
Recall là tỷ lệ 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. Thời gian một mô hình có mức truy lại cao, mô hình không gán bất kỳ nhãn nào ít thường xuyên hơn (ít sai hơn âm).
Việc bạn tối ưu hoá để đạt độ chính xác hay mức độ thu hồi sẽ tuỳ 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 của AutoML Vision và Hướng dẫn về công nghệ học máy toàn diện – AutoML để biết thêm thông tin.
Khi thấy ngưỡng tin cậy tạo ra chỉ số mà bạn cảm thấy hài lòng, ghi lại thông tin đó; bạn sẽ dùng ngưỡng tin cậy để định cấu hình mô hình trong . (Bạn có thể sử dụng công cụ này bất cứ lúc nào để nhận giá trị ngưỡng phù hợp.)
4. Xuất bản hoặc tải mô hình xuống
Nếu bạn 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 ứng dụng, bạn có 3 tuỳ chọn mà từ đó bạn có thể chọn bất kỳ 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 tạo mô hình và kết hợp với ứng dụng của bạn.
Triển khai mô hình
Trên tham số Kiểm tra & sử dụng, bạn có thể triển khai mô hình của mình cho chiến dịch trực tuyến tính năng dự đoán sẽ chạy mô hình của bạn trên đám mây. Lựa chọn này được đề cập trong phần Tài liệu Cloud AutoML. Chiến lược phát hành đĩa đơn Tài liệu trên trang web này xử lý hai tuỳ chọn còn lại.
Xuất bản mô hình
Bằng cách xuất bản mô hình này lên Firebase, bạn có thể cập nhật mô hình này mà không cần phát hành một phiên bản ứng dụng mới và bạn có thể sử dụng Remote Config và A/B Testing để phân phát linh động 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ỉ chọn cung cấp mô hình bằng cách lưu trữ mô hình đó bằng Firebase, chứ không phải hãy kết hợp ứng dụng đó với ứng dụng, bạn có thể giảm kích thước tải xuống ban đầu của ứng dụng. Mặc dù vậy, hãy lưu ý rằng nếu mô hình không được đóng gói với ứng dụng của bạn, bất kỳ sẽ không có sẵn chức năng liên quan đến mô hình 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, bạn có thể sử dụng một trong hai phương pháp sau:
- Tải mô hình TF Lite xuống từ trang Kiểm tra & sử dụng trong Google Cloud, sau đó tải mô hình lên Trang Mô hình tuỳ chỉnh của bảng điều khiển Firebase. Việc này thường cách dễ nhất để xuất bản một mô hình.
- Xuất bản mô hình trực tiếp từ dự án Google Cloud lên Firebase bằng cách sử dụng SDK dành cho quản trị viên. Bạn có thể sử dụng phương thức này để xuất bản hàng loạt một số mô hình hoặc để giúp tạo quy trình xuất bản tự động.
Cách xuất bản mô hình bằng API quản lý mô hình của SDK dành cho quản trị viên:
Xuất bản mô hình.
Bạn sẽ cần chỉ định giá trị nhận dạng tài nguyên của mô hình, đây 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 Cloud Storage chứa mô hình. Đây có thể là dự án Firebase của bạn hoặc Google Cloud khác dự án. 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 của Firebase hoặc trang tổng quan của bảng điều khiển Google Cloud. MODEL_ID
Mã mô hình mà bạn nhận được từ AutoML Cloud API. Python
# 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
Bằng cách kết hợp mô hình với ứng dụng, bạn có thể đảm bảo các tính năng học máy của ứng dụng vẫn hoạt động khi không có mô hình lưu trữ trên Firebase.
Nếu bạn vừa xuất bản vừa đóng gói mô hình đó trong ứ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 mô hình của bạn xuống, hãy nhấp vào TF Lite trên mục Kiểm tra và sử dụng.
Các bước tiếp theo
Giờ đây, bạn đã xuất bản hoặc tải mô hình xuống, hãy tìm hiểu cách sử dụng mô hình trong iOS+ và Ứng dụng Android.