Menyiapkan data untuk tugas visi komputer dengan pembelajaran mesin otomatis

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Penting

Dukungan untuk pelatihan model visi komputer dengan ML otomatis di Azure Machine Learning adalah fitur pratinjau publik eksperimental. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Dalam artikel ini, Anda mempelajari cara menyiapkan data gambar untuk melatih model visi komputer dengan pembelajaran mesin otomatis di Azure Machine Learning.

Untuk menghasilkan model untuk tugas visi komputer dengan pembelajaran mesin otomatis, Anda perlu membawa data gambar berlabel sebagai input untuk pelatihan model dalam bentuk MLTable.

Anda dapat membuat MLTable dari data pelatihan berlabel dalam format JSONL. Jika data pelatihan berlabel Anda dalam format yang berbeda (seperti, pascal VOC atau COCO), Anda dapat menggunakan skrip konversi untuk terlebih dahulu mengonversinya ke JSONL, lalu membuat MLTable. Atau, Anda dapat menggunakan alat pelabelan data Azure Machine Learning untuk memberi label gambar secara manual, dan mengekspor data berlabel yang akan digunakan untuk melatih model AutoML Anda.

Prasyarat

Mendapatkan data berlabel

Untuk melatih model visi komputer menggunakan AutoML, Anda harus terlebih dahulu mendapatkan data pelatihan berlabel. Gambar harus diunggah ke cloud dan anotasi label harus dalam format JSONL. Anda dapat menggunakan alat Pelabelan Data Azure Pembelajaran Mesin untuk memberi label data Anda atau Anda dapat memulai dengan data gambar berlabel sebelumnya.

Menggunakan alat Pelabelan Data Azure Pembelajaran Mesin untuk memberi label data pelatihan Anda

Jika Anda tidak memiliki data berlabel sebelumnya, Anda dapat menggunakan alat pelabelan data Azure Pembelajaran Mesin untuk memberi label gambar secara manual. Alat ini secara otomatis menghasilkan data yang diperlukan untuk pelatihan dalam format yang diterima.

Alat tersebut membantu untuk membuat, mengelola, dan memantau tugas pelabelan data untuk

  • Klasifikasi gambar (multi-kelas dan multi-label)
  • Deteksi objek (kotak pembatas)
  • Segmentasi instans (poligon)

Jika Anda sudah memiliki data berlabel yang ingin Anda gunakan, Anda dapat mengekspor data berlabel sebagai Himpunan Data azure Pembelajaran Mesin lalu mengakses himpunan data di bawah tab 'Himpunan Data' di studio Azure Pembelajaran Mesin. Himpunan data yang diekspor ini kemudian dapat diteruskan sebagai input menggunakan azureml:<tabulardataset_name>:<version> format. Berikut adalah contoh cara meneruskan himpunan data yang ada sebagai input untuk melatih model visi komputer.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

training_data:
  path: azureml:odFridgeObjectsTrainingDataset:1
  type: mltable
  mode: direct

Menggunakan data pelatihan berlabel sebelumnya dari komputer lokal

Jika Anda telah memberi label data yang ingin Anda gunakan untuk melatih model, Anda perlu mengunggah gambar ke Azure. Anda dapat mengunggah gambar Anda ke Azure Blob Storage default Ruang Kerja Azure Pembelajaran Mesin Anda dan mendaftarkannya sebagai aset data.

Skrip berikut mengunggah data gambar di komputer lokal Anda di jalur "./data/odFridgeObjects" ke datastore di Azure Blob Storage. Kemudian membuat aset data baru dengan nama "fridge-items-images-object-detection" di Ruang Kerja Azure Pembelajaran Mesin Anda.

Jika sudah ada aset data dengan nama "fridge-items-images-object-detection" di Ruang Kerja Azure Pembelajaran Mesin Anda, aset data akan diperbarui nomor versi aset data dan mengarahkannya ke lokasi baru tempat data gambar diunggah.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Buat file .yml dengan konfigurasi berikut.

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: ./data/odFridgeObjects
type: uri_folder

Untuk mengunggah gambar sebagai aset data, Anda menjalankan perintah CLI v2 berikut dengan jalur ke file .yml, nama ruang kerja, grup sumber daya, dan ID langganan Anda.

az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]

Jika Anda sudah memiliki data yang ada di datastore yang ada dan ingin membuat aset data darinya, Anda dapat melakukannya dengan menyediakan jalur ke data di datastore, alih-alih menyediakan jalur komputer lokal Anda. Perbarui kode di atas dengan cuplikan berikut.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Buat file .yml dengan konfigurasi berikut.

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/<path_to_image_data_folder>
type: uri_folder

Selanjutnya, Anda perlu mendapatkan anotasi label dalam format JSONL. Skema data berlabel bergantung pada tugas visi komputer yang ada. Lihat skema untuk file JSONL untuk eksperimen visi komputer AutoML untuk mempelajari selengkapnya tentang skema JSONL yang diperlukan untuk setiap jenis tugas.

Jika data pelatihan Anda dalam format yang berbeda (seperti, pascal VOC atau COCO), skrip pembantu untuk mengonversi data ke JSONL tersedia di contoh buku catatan.

Setelah membuat file jsonl dengan mengikuti langkah-langkah di atas, Anda dapat mendaftarkannya sebagai aset data menggunakan UI. Pastikan Anda memilih stream ketik di bagian skema seperti yang ditunjukkan dalam animasi ini.

Animasi memperlihatkan cara mendaftarkan aset data dari file jsonl

Menggunakan data pelatihan berlabel sebelumnya dari penyimpanan Azure Blob

Jika Anda memiliki data pelatihan berlabel yang ada dalam kontainer di penyimpanan Azure Blob, maka Anda dapat mengaksesnya langsung dari sana dengan membuat datastore yang mengacu pada kontainer tersebut.

Membuat MLTable

Setelah Anda memiliki data berlabel dalam format JSONL, Anda dapat menggunakannya untuk membuat MLTable seperti yang ditunjukkan dalam cuplikan yaml ini. MLtable mengemas data Anda menjadi objek yang dapat digunakan untuk pelatihan.

paths:
  - file: ./train_annotations.jsonl
transformations:
  - read_json_lines:
        encoding: utf8
        invalid_lines: error
        include_path_column: false
  - convert_column_types:
      - columns: image_url
        column_type: stream_info

Anda kemudian dapat meneruskan MLTable sebagai input data untuk pekerjaan pelatihan AutoML Anda.

Langkah berikutnya