共用方式為


使用自動化機器學習來準備用於電腦視覺工作的資料第 1 版

適用於:Python SDK azureml v1

重要

本文中的 Azure CLI 命令使用 azure-cli-ml 或 v1 (Azure Machine Learning 的擴充功能)。 v1 擴充功能的支援將於 2025 年 9 月 30 日終止。 您能夠安裝並使用 v1 延伸模組,直到該日期為止。

建議您在 2025 年 9 月 30 日之前轉換至 ml 或 v2 擴充功能。 如需 v2 擴充功能的詳細資訊,請參閱 Azure 機器學習 CLI 擴充功能和 Python SDK v2

重要

支援在 Azure Machine Learning 中使用自動化 ML 定型電腦視覺模型是實驗性的公開預覽功能。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

在本文中,您將了解如何使用 Azure Machine Learning 中的自動化機器學習,準備用於定型電腦視覺模型的影像資料。

若要使用 AutoML 產生用於電腦視覺工作的模型,您必須以 Azure Machine Learning TabularDataset 的形式,將標記的影像資料作為模型定型的輸入。

若要確保您的 TabularDataset 包含可在自動化 ML 中取用的已接受結構描述,您可以使用 Azure Machine Learning 資料標記工具或使用轉換指令碼。

必要條件

Azure Machine Learning 資料標記

如果沒有標記的資料,您可以使用 Azure Machine Learning 的資料標記工具手動標記影像。 此工具會以接受的格式自動產生定型所需的資料。

它有助於建立、管理和監視以下各項的資料標記工作

  • 影像分類 (多類別和多標籤)
  • 物件偵測 (週框方塊)
  • 執行個體分割 (多邊形)

如果您已經有資料標記專案,而且想要使用該資料,您可以將標籤的資料匯出為 Azure Machine Learning TabularDataset,然後直接與自動 ML 搭配,以用於定型電腦視覺模型。

使用轉換指令碼

如果您已使用熱門的電腦視覺資料格式 (例如 VOC 或 COCO) 標示資料,則可在筆記本範例中取得用來產生用於定型和驗證資料的 JSONL 檔案的協助程式指令碼

如果您的資料不符合上述任何一種格式,您可以使用自己的指令碼來產生 JSON 行檔案。 若要產生 JSON 行檔案,請使用用於 AutoML 映像實驗的 JSONL 檔案結構描述中定義的結構描述。

當您的資料檔案轉換成可接受的 JSONL 格式之後,您就可以將它們上傳至 Azure 上的儲存體帳戶。

將 JSONL 檔案和影像上傳至儲存體

若要對自動化的 ML 定型使用該資料,請透過資料存放區將資料上傳至您的 Azure Machine Learning 工作區。 資料存放區提供一個機制,讓您將資料上傳/下載至 Azure 上的儲存體,並從遠端計算目標與其互動。

將包含影像和 JSONL 檔案的整個父目錄上傳至建立工作區時自動建立的預設資料存放區。 此資料存放區會連接到建立工作區時建立的預設 Azure Blob 儲存體容器。

# Retrieve default datastore that's automatically created when we setup a workspace
ds = ws.get_default_datastore()
ds.upload(src_dir='./fridgeObjects', target_path='fridgeObjects')

資料上傳完成後,您可以建立 Azure Machine Learning TabularDataset。然後,向工作區註冊資料集,以利日後作為自動化 ML 實驗用於電腦視覺模型時的輸入。

from azureml.core import Dataset
from azureml.data import DataType

training_dataset_name = 'fridgeObjectsTrainingDataset'
# create training dataset
training_dataset = Dataset.Tabular.from_json_lines_files(path=ds.path("fridgeObjects/train_annotations.jsonl"),
                                                         set_column_types={"image_url": DataType.to_stream(ds.workspace)}
                                                        )
training_dataset = training_dataset.register( workspace=ws,name=training_dataset_name)

print("Training dataset name: " + training_dataset.name)

下一步