Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Python SDK azure-ai-ml v2 (geçerli)
Bu makalede, otomatik ML kullanarak görüntü verileri üzerinde görüntü işleme modellerini eğitmeyi öğreneceksiniz. Azure Machine Learning CLI uzantısı v2 veya Azure Machine Learning Python SDK v2'yi kullanarak modelleri eğitebilirsiniz.
Otomatikleştirilmiş ML, görüntü sınıflandırma, nesne algılama ve örnek kesimleme gibi görüntü işleme görevleri için model eğitimini destekler. Görüntü işleme görevleri için AutoML modellerinin yazılması şu anda Azure Machine Learning Python SDK'sı aracılığıyla desteklenmektedir. Sonuçta elde edilen deneme denemelerine, modellerine ve çıkışlarına Azure Machine Learning Stüdyosu kullanıcı arabiriminden erişebilirsiniz. Görüntü verilerinde görüntü işleme görevleri için otomatik ml hakkında daha fazla bilgi edinin.
Önkoşullar
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
- Azure Machine Learning çalışma alanı. Çalışma alanını oluşturmak için bkz . Çalışma alanı kaynakları oluşturma.
- CLI'yi (v2) yükleyin ve kurun ve
mluzantısının yüklendiğinden emin olun.
Görev türünüzü seçin
Görüntüler için otomatik ML aşağıdaki görev türlerini destekler:
| Görev türü | AutoML Görevi söz dizimi |
|---|---|
| görüntü sınıflandırması | CLI v2: image_classification SDK v2: image_classification() |
| görüntü sınıflandırması çok etiketli | CLI v2: image_classification_multilabel SDK v2: image_classification_multilabel() |
| görüntü nesnesi algılama | CLI v2: image_object_detection SDK v2: image_object_detection() |
| görüntü örneği segmentasyonu | CLI v2: image_instance_segmentation SDK v2: image_instance_segmentation() |
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Görev türünü gerekli bir parametre olarak ayarlayın. Bu parametreyi task ayarlamak için anahtarını kullanın.
Örneğin:
task: image_object_detection
Eğitim ve doğrulama verileri
Bilgisayarla görme modelleri oluşturmak için, bir MLTable biçiminde model eğitimi için giriş olarak etiketlenmiş görüntü verilerini getirin. Eğitim verilerinden JSONL biçiminde bir MLTable oluşturabilirsiniz.
Eğitim verileriniz pascal VOC veya COCO gibi farklı bir biçimdeyse, verileri JSONL'ye dönüştürmek için örnek not defterlerinde bulunan yardımcı betikleri kullanabilirsiniz. Daha fazla bilgi için bkz. Otomatik ML ile görüntü işleme görevleri için verileri hazırlama.
Not
Bir AutoML işi göndermek için eğitim verilerinde en az 10 görüntü olması gerekir.
Uyarı
Bu özellik için SDK ve CLI, JSONL biçiminde verilerden oluşturma MLTable işlemini destekler.
MLTable kullanıcı arabirimi aracılığıyla oluşturma şu anda desteklenmiyor.
JSONL şema örnekleri
TabularDataset'in yapısı, eldeki göreve bağlıdır. Görüntü işleme görev türleri için aşağıdaki alanlardan oluşur:
| Alan | Açıklama |
|---|---|
image_url |
StreamInfo nesnesi olarak dosya yolu içerir |
image_details |
Görüntü meta verileri bilgileri yükseklik, genişlik ve biçimden oluşur. Bu alan isteğe bağlıdır. |
label |
Görev türüne göre resim etiketinin json gösterimi. |
Aşağıdaki kod, görüntü sınıflandırması için örnek bir JSONL dosyasıdır:
{
"image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_01.png",
"image_details":
{
"format": "png",
"width": "2230px",
"height": "4356px"
},
"label": "cat"
}
{
"image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_02.jpeg",
"image_details":
{
"format": "jpeg",
"width": "3456px",
"height": "3467px"
},
"label": "dog"
}
Aşağıdaki kod, nesne algılama için örnek bir JSONL dosyasıdır:
{
"image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_01.png",
"image_details":
{
"format": "png",
"width": "2230px",
"height": "4356px"
},
"label":
{
"label": "cat",
"topX": "1",
"topY": "0",
"bottomX": "0",
"bottomY": "1",
"isCrowd": "true",
}
}
{
"image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_02.png",
"image_details":
{
"format": "jpeg",
"width": "1230px",
"height": "2356px"
},
"label":
{
"label": "dog",
"topX": "0",
"topY": "1",
"bottomX": "0",
"bottomY": "1",
"isCrowd": "false",
}
}
Verileri kullanma
Verilerinizi JSONL biçimine dönüştürdükten sonra, aşağıdaki örnekte gösterildiği gibi eğitim ve doğrulama MLTable dosyaları oluşturun.
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
Otomatik ML, görüntü işleme görevleri için eğitim veya doğrulama veri boyutuna herhangi bir kısıtlama getirmez. Veri kümesinin arkasındaki depolama katmanı (örneğin blob deposu), en büyük veri kümesi boyutunu ayarlar. Görüntü veya etiket için belirlenmiş bir alt sınır yoktur. Ancak çıkış modelinin yeterince eğitildiğinden emin olmak için etiket başına en az 10 ila 15 örnekle başlayın. Toplam etiket veya sınıf sayısı ne kadar fazlaysa etiket başına o kadar fazla örneğe ihtiyacınız olur.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
training_data anahtarını kullanarak gerekli eğitim verisi parametresini geçirin. İsteğe bağlı olarak, validation_data anahtarını kullanarak başka bir MLTable'ı doğrulama verileri olarak belirtin. Doğrulama verilerini belirtmezseniz, validation_data_size bağımsız değişkenini farklı bir değerle geçirmediğiniz sürece, eğitim verilerinizin %20'si varsayılan olarak doğrulama için kullanılır.
Gerekli hedef sütun adı parametresini target_column_name anahtarını kullanarak geçirin. Denetimli ML görevinin hedefi olarak bu parametreyi kullanın. Örneğin,
target_column_name: label
training_data:
path: data/training-mltable-folder
type: mltable
validation_data:
path: data/validation-mltable-folder
type: mltable
Deneyi yürütmek için hesaplama
Model eğitimi gerçekleştirmek için otomatik ML için bir işlem hedefi sağlayın. Görüntü işleme görevleri için otomatik ML modelleri GPU SKU'ları gerektirir ve NC ile ND ailelerini destekler. Daha hızlı eğitim için NCsv3 serisini (v100 GPU'larla) kullanın. Çok GPU'lu VM SKU'su olan bir işlem hedefi, eğitimi hızlandırmak için birden çok GPU kullanır. Ayrıca, birden çok düğüme sahip bir işlem hedefi ayarladığınızda, modeliniz için hiper parametreleri ayarlarken paralellik aracılığıyla daha hızlı model eğitimi gerçekleştirebilirsiniz.
Not
İşlem hedefiniz olarak bir işlem örneği kullanıyorsanız, birden çok AutoML işinin aynı anda çalışmadığından emin olun. Ayrıca, max_concurrent_trials'nin iş sınırlarınızda 1 olarak ayarlandığından emin olun.
compute parametresini kullanarak işlem hedefini geçirin. Örneğin:
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
compute: azureml:gpu-cluster
Denemeleri yapılandırma
Görüntü işleme görevleri için tek tek denemeler, el ile süpürmeler veya otomatik süpürmeler başlatabilirsiniz. İlk taban çizgisi modelini elde etmek için otomatik tarama ile başlayın. Ardından, belirli modellerle ve hiper parametre yapılandırmalarıyla tek tek denemeleri deneyin. Son olarak, daha umut verici modellerin ve hiperparametre yapılandırmalarının yakınında birden çok hiperparametre değerini keşfetmek için el ile taramaları kullanın. Bu üç adımlı iş akışı (otomatik süpürme, bireysel denemeler, manuel süpürmeler), hiperparametre sayısının artışına bağlı olarak katlanarak büyüyen hiperparametre alanında tamamen arama yapmayı önler.
Otomatik süpürmeler birçok veri kümesi için rekabetçi sonuçlar verebilir. Ayrıca, model mimarileri hakkında gelişmiş bilgi gerektirmezler. Hiper parametre bağıntılarını dikkate alır ve farklı donanım kurulumlarında sorunsuz çalışırlar. Tüm bu nedenler, bunları deneme sürecinizin ilk aşaması için güçlü bir seçenek haline getirir.
Birincil metrik
AutoML eğitim işi, model iyileştirme ve hiperparametre ayarlama için birincil metriği kullanır. Birincil ölçüm, aşağıdaki listede gösterildiği gibi görev türüne bağlıdır. Diğer birincil ölçüm değerleri şu anda desteklenmemektedir.
- Görüntü sınıflandırma doğruluğu
- Görüntü sınıflandırma çoklu etiket için union üzerinde kesişim
- Görüntü nesnesi algılama için ortalama ortalama duyarlık
- Görüntü örneği segmentasyonu için ortalama ortalama duyarlık
İş sınırları
Aşağıdaki örnekte açıklandığı gibi sınır ayarlarında timeout_minutes, max_trials ve max_concurrent_trials belirterek AutoML Görüntü eğitim işinizde harcanan kaynakları kontrol edebilirsiniz.
| Parametre | Ayrıntı |
|---|---|
max_trials |
Tarama için en fazla deneme sayısı parametresi. 1 ile 1.000 arasında bir tamsayı olmalıdır. Belirli bir model mimarisi için yalnızca varsayılan hiper parametreleri incelediğinizde, bu parametreyi 1 olarak ayarlayın. Varsayılan değer 1 şeklindedir. |
max_concurrent_trials |
Eşzamanlı olarak çalışan en fazla deneme sayısı. Belirtilirse, 1 ile 100 arasında bir tamsayı olmalıdır. Varsayılan değer 1 şeklindedir. NOT: max_concurrent_trials dahili olarak max_trials ile sınırlandırılır. Örneğin, max_concurrent_trials=4 ve max_trials=2 ayarlarsanız, değerler dahili olarak max_concurrent_trials=2 ve max_trials=2 olarak güncellenir. |
timeout_minutes |
Denemenin sona ermesi için dakika cinsinden süre. Bir değer belirtmezseniz, varsayılan deneme timeout_minutes yedi gündür (en fazla 60 gün). |
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
limits:
timeout_minutes: 60
max_trials: 10
max_concurrent_trials: 2
Model hiperparametrelerini otomatik olarak tarama (AutoMode)
Önemli
Bu özellik şu anda genel önizlemededir. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Bir veri kümesi için en iyi model mimarisini ve hiper parametreleri tahmin etmek zordur. Ayrıca, bazı durumlarda hiper parametreleri ayarlamak için ayrılan insan süresi sınırlıdır. Görüntü işleme görevleri için istediğiniz sayıda deneme belirtebilirsiniz ve sistem süpürme için hiper parametre alanının bölgesini otomatik olarak belirler. Hiper parametre arama alanı, örnekleme yöntemi veya erken sonlandırma ilkesi tanımlamanız gerekmez.
AutoMode'un tetiklenmesi
Birden büyük bir değere max_trials ayarlayarak ve limits arama alanını, örnekleme yöntemini ve sonlandırma ilkesini belirtmeyerek otomatik süpürmeler yapın. Bu işlev AutoMode işlevidir. Aşağıdaki örneğe bakın.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
limits:
max_trials: 10
max_concurrent_trials: 2
10 ile 20 arasında deneme sürümü çalıştırmak birçok veri kümesinde iyi çalışır. Yine de AutoML işi için zaman bütçesini ayarlayabilirsiniz, ancak bu değeri yalnızca her denemenin uzun sürmesi durumunda ayarlayabilirsiniz.
Uyarı
Kullanıcı arabirimi şu anda otomatik süpürme başlatmayı desteklememektedir.
Bireysel denemeler
Tek tek denemelerde, model mimarisini ve hiper parametreleri doğrudan denetlersiniz. Model mimarisini model_name parametresi üzerinden geçirin.
Desteklenen model mimarileri
Aşağıdaki tabloda, her görüntü işleme görevi için desteklenen eski modeller özetlenmektedir. Yalnızca bu eski modellerin kullanılması, her bir çalıştırmanın veya denemenin bir komut işi olarak gönderildiği eski çalışma zamanını kullanan çalıştırmaları tetikler. HuggingFace ve MMDetection desteği hakkında bilgi için sonraki bölüme bakın.
| Görev | Model yapılandırmaları | Dize sabit söz dizimidefault_model* * ile belirtilir |
|---|---|---|
| Resim sınıflandırması (çok sınıflı ve çok etiketli) |
MobileNet: Mobil uygulamalar için basit modeller ResNet: Artık Bağlantılı Ağlar ResNeSt: Dikkat ağlarını bölme SE-ResNeXt50: Sıkma ve Uyarma (Squeeze-and-Excitation) Ağları ViT: Görüntü transformatör ağları |
mobilenetv2 resnet18 resnet34 resnet50 resnet101 resnet152 resnest50 resnest101 seresnext vits16r224 (küçük) vitb16r224* (taban) vitl16r224 (büyük) |
| Nesne algılama |
YOLOv5: Bir aşamalı nesne algılama modeli Daha hızlı RCNN ResNet FPN: İki aşamalı nesne algılama modeli RetinaNet ResNet FPN: Odak Kaybı ile adres sınıfı dengesizliği Not: YOLOv5 model boyutları için model_sizehiperparametreye bakın. |
yolov5* fasterrcnn_resnet18_fpn fasterrcnn_resnet34_fpn fasterrcnn_resnet50_fpn fasterrcnn_resnet101_fpn fasterrcnn_resnet152_fpn retinanet_resnet50_fpn |
| Örneği segmentlere ayırma | MaskRCNN ResNet FPN | maskrcnn_resnet18_fpn maskrcnn_resnet34_fpn maskrcnn_resnet50_fpn* maskrcnn_resnet101_fpn maskrcnn_resnet152_fpn |
Desteklenen model mimarileri - HuggingFace ve MMDetection
Azure Machine Learning işlem hatlarında çalışan yeni arka ucu kullanarak, transformatör kitaplığının parçası olan HuggingFace Hub'daki herhangi bir görüntü sınıflandırma modelini kullanabilirsiniz (örneğin, microsoft/beit-base-patch16-224).
MMDetection Sürüm 3.1.0 Model Deposu'ndan (örneğinatss_r50_fpn_1x_coco) herhangi bir nesne tespit veya örnek bölütleme modelini de kullanabilirsiniz.
HuggingFace Transformers ve MMDetection 3.1.0 modellerini desteklemeye ek olarak, Azure Machine Learning kayıt defteri bu kitaplıklardan seçilmiş modellerin bir listesini sunar. Bu seçilmiş modeller kapsamlı bir şekilde test edilir ve etkili bir eğitim sağlamak için kapsamlı karşılaştırmadan seçilen varsayılan hiper parametreleri kullanır. Aşağıdaki tabloda bu seçilmiş modeller özetlemektedir.
| Görev | Model yapılandırmaları | Dize sabiti sözdizimi |
|---|---|---|
| Resim sınıflandırması (çok sınıflı ve çok etiketli) |
BEiT ViT DeiT SwinV2 |
microsoft/beit-base-patch16-224-pt22k-ft22kgoogle/vit-base-patch16-224facebook/deit-base-patch16-224microsoft/swinv2-base-patch4-window12-192-22k |
| Nesne Algılama |
Sparse R-CNN Deforme Edilebilir DETR VFNet YOLOF |
mmd-3x-sparse-rcnn_r50_fpn_300-proposals_crop-ms-480-800-3x_cocommd-3x-sparse-rcnn_r101_fpn_300-proposals_crop-ms-480-800-3x_coco mmd-3x-deformable-detr_refine_twostage_r50_16xb2-50e_coco mmd-3x-vfnet_r50-mdconv-c3-c5_fpn_ms-2x_coco mmd-3x-vfnet_x101-64x4d-mdconv-c3-c5_fpn_ms-2x_coco mmd-3x-yolof_r50_c5_8x8_1x_coco |
| Nesne Bölütleme | Maske R-CNN | mmd-3x-mask-rcnn_swin-t-p4-w7_fpn_1x_coco |
Seçilen modellerin listesi sürekli olarak güncelleştirilir. Python SDK'sını kullanarak belirli bir görev için en güncel özenle seçilmiş modeller listesini alabilirsiniz.
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
try:
credential = DefaultAzureCredential()
credential.get_token("https://management.azure.com/.default")
except Exception:
credential = InteractiveBrowserCredential()
ml_client = MLClient(credential, registry_name="azureml")
models = ml_client.models.list()
classification_models = []
for model in models:
model = ml_client.models.get(model.name, label="latest")
if model.tags['task'] == 'image-classification': # choose an image task
classification_models.append(model.name)
classification_models
Çıktı:
['google-vit-base-patch16-224',
'microsoft-swinv2-base-patch4-window12-192-22k',
'facebook-deit-base-patch16-224',
'microsoft-beit-base-patch16-224-pt22k-ft22k']
HuggingFace veya MMDetection modelini kullanmak, işlem hattı bileşenlerini kullanan çalışmaları tetikler. Hem eski hem de HuggingFace/MMdetection modellerini kullanıyorsanız, tüm çalıştırmalar ve denemeler bileşenleri kullanır.
Model mimarisini denetlemeye ek olarak, model eğitimi için kullanılan hiper parametreleri de ayarlayabilirsiniz. Kullanıma sunulan hiper parametrelerin çoğu modelden bağımsız olsa da, bazı hiper parametreler göreve veya modele özgü olur. Bu örnekler için kullanılabilir hiper parametreler hakkında daha fazla bilgi edinin.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Belirli bir mimari, örneğin yolov5, için varsayılan hiperparametre değerlerini kullanmak amacıyla, model_name anahtarını training_parameters bölümünde belirterek mimariyi tanımlayın. Örneğin,
training_parameters:
model_name: yolov5
Model hiperparametreleri manuel tarama
Görüntü işleme modellerini eğitirken model performansı büyük ölçüde seçtiğiniz hiper parametre değerlerine bağlıdır. Çoğu zaman, en iyi performansı elde etmek için hiper parametreleri ayarlamanız gerekir. Görüntü işleme görevleri için hiper parametreleri süpürerek modeliniz için en uygun ayarları bulabilirsiniz. Bu özellik, Azure Machine Learning'deki hiper parametre ayarlama özelliklerini uygular. Hiper parametreleri ayarlamayı öğrenin.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
search_space:
- model_name:
type: choice
values: [yolov5]
learning_rate:
type: uniform
min_value: 0.0001
max_value: 0.01
model_size:
type: choice
values: [small, medium]
- model_name:
type: choice
values: [fasterrcnn_resnet50_fpn]
learning_rate:
type: uniform
min_value: 0.0001
max_value: 0.001
optimizer:
type: choice
values: [sgd, adam, adamw]
min_size:
type: choice
values: [600, 800]
Parametre arama alanını tanımlama
Parametre alanını süpürmek için model mimarilerini ve hiper parametreleri tanımlayın. Tek bir model mimarisi veya birden çok mimari belirtebilirsiniz.
- Her görev türü için desteklenen model mimarilerinin listesi için bkz. Bireysel denemeler.
- Her görüntü işleme görev türü için hiper parametreler için bkz. Görüntü işleme görevleri için hiper parametreler.
- Ayrık ve sürekli hiper parametreler için desteklenen dağıtımlar hakkında ayrıntılı bilgi için bkz. Hiper parametreleri ayarlama.
Süpürme için örnekleme yöntemleri
Hiper parametreleri süpürürken, tanımlanan parametre alanı üzerinde süpürme için kullanılacak örnekleme yöntemini belirtin. Şu anda sampling_algorithm parametresi aşağıdaki örnekleme yöntemlerini destekler:
| Örnekleme türü | AutoML Görev sentaksı |
|---|---|
| Rastgele Örnekleme | random |
| Kılavuz Örnekleme | grid |
| Bayes örneklemesi | bayesian |
Not
Şu anda yalnızca rastgele ve kılavuz örnekleme koşullu hiper parametre alanlarını destekler.
Erken sonlandırma ilkeleri
Erken sonlandırma ilkesi kullanarak kötü performans gösteren denemeleri otomatik olarak sonlandır. Erken sonlandırma, aksi takdirde daha az umut verici denemelere harcanabilecek işlem kaynaklarını koruyarak hesaplama verimliliğini artırır. Görüntüler için otomatik ML, parametresini early_termination kullanarak aşağıdaki erken sonlandırma ilkelerini destekler. Sonlandırma politikası belirtmezseniz, tüm denemeler tamamlanıncaya kadar çalışır.
| Erken sonlandırma ilkesi | AutoML Görevi söz dizimi |
|---|---|
| Bandit politikası | CLI v2: bandit SDK v2: BanditPolicy() |
| Ortanca durdurma ilkesi | CLI v2: median_stopping SDK v2: MedianStoppingPolicy() |
| Kesme seçimi ilkesi | CLI v2: truncation_selection SDK v2: TruncationSelectionPolicy() |
Daha fazla bilgi için bkz. Hiperparametre taramanız için erken sonlandırma politikasını yapılandırma.
Not
Eksiksiz bir süpürme yapılandırma örneği için bkz. kılavuz.
Aşağıdaki örnekte gösterildiği gibi süpürmeyle ilgili tüm parametreleri yapılandırabilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
sweep:
sampling_algorithm: random
early_termination:
type: bandit
evaluation_interval: 2
slack_factor: 0.2
delay_evaluation: 6
Sabit ayarlar
Aşağıdaki örnekte gösterildiği gibi parametre alanı süpürme sırasında değişmeyen sabit ayarları veya parametreleri geçirin.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
training_parameters:
early_stopping: True
evaluation_frequency: 1
Veri artırma
Genel olarak derin öğrenme modeli performansı genellikle daha fazla veriyle iyileştirebilir. Veri artırma, veri kümesinin veri boyutunu ve değişkenliğini artırmak için pratik bir tekniktir. Bu teknik fazla uygunluğu önlemeye yardımcı olur ve modelin görünmeyen verilerde genelleştirme özelliğini geliştirir. Otomatik ML, modele giriş görüntüleri beslemeden önce görüntü işleme görevine göre farklı veri artırma teknikleri uygular. Şu anda hiçbir hiper parametre veri artırmalarını denetlemez.
| Görev | Etkilenen veri kümesi | Uygulanan veri artırma teknikleri |
|---|---|---|
| Görüntü sınıflandırması (çok sınıflı ve çok etiketli) | Eğitim Doğrulama ve test |
Kanal açısından ImageNet'in ortalama ve standart sapması kullanılarak rastgele yeniden boyutlandırma ve kırpma, yatay çevirme, renk dalgalanması (parlaklık, karşıtlık, doygunluk ve ton), normalleştirme Yeniden boyutlandırma, merkezden kırpma, normalleştirme |
| Nesne algılama, örnek segmentasyonu | Eğitim Doğrulama ve test |
Sınırlayıcı kutuların çevresinde rastgele kırpma, genişletme, yatay çevirme, normalleştirme, yeniden boyutlandırma Normalleştirme, yeniden boyutlandırma |
| Yolov5 kullanarak nesne algılama | Eğitim Doğrulama ve test |
Mozaik, rastgele afin (döndürme, kaydırma, ölçek, kesme), yatay çevirme Letterbox yeniden boyutlandırma |
Model, görüntü işi için Otomatik ML için varsayılan olarak önceki tabloda tanımlanan artırmaları uygular. Görüntüler için Otomatik ML, artırmalar üzerinde denetim sağlamak amacıyla belirli artırmaları kapatmak için aşağıdaki iki işareti kullanıma sunar. Şu anda bu bayraklar yalnızca nesne algılama ve örnek segmentasyon görevlerini destekler.
- apply_mosaic_for_yolo: Bu bayrak Yolo modeline özgüdür. Mozaik veri büyütmeyi kapatmak için False olarak ayarlayın. Model bu artırmayı eğitim zamanında uygular.
-
apply_automl_train_augmentations: Nesne algılama ve örnek segmentasyonu modellerinde modelin eğitim zamanında uyguladığı artırmayı kapatmak için bu bayrağı false olarak ayarlayın. Artırmalar için yukarıdaki tabloda yer alan ayrıntılara bakın.
- yolo olmayan nesne tespiti modeli ve örnek segmentasyon modelleri için, bu bayrak yalnızca ilk üç artırmayı kapatır. Örneğin: Sınırlayıcı kutuların çevresinde rastgele kırpma, genişletme, yatay çevirme. Bu bayrak ne olursa olsun, normalleştirme ve yeniden boyutlandırma artırmaları uygulanmaya devam eder.
- Yolo modeli için bu bayrak rastgele benek ve yatay çevirme büyütmelerini kapatır.
bu iki bayrağı training_parameters altındaadvanced_settings aracılığıyla ayarlayabilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
training_parameters:
advanced_settings: >
{"apply_mosaic_for_yolo": false}
training_parameters:
advanced_settings: >
{"apply_automl_train_augmentations": false}
Bu iki bayrak birbirinden bağımsızdır. Aşağıdaki ayarları kullanarak bunları birlikte de kullanabilirsiniz.
training_parameters:
advanced_settings: >
{"apply_automl_train_augmentations": false, "apply_mosaic_for_yolo": false}
Denemelerimizde bu iyileştirmeler modelin daha iyi genelleştirilmesine yardımcı olur. Bu artırmaları kapatırsanız, daha iyi sonuçlar elde etmek için bunları diğer çevrimdışı artırmalarla birleştirin.
Artımlı eğitim (isteğe bağlı)
Eğitim işi tamamlandıktan sonra eğitilen model denetim noktasını yükleyerek modeli daha fazla eğitebilirsiniz. Artımlı eğitim için aynı veri kümesini veya farklı bir veri kümesini kullanın. Modelden memnunsanız eğitimi durdurun ve geçerli modeli kullanın.
İş kimliğiyle denetim noktasını geç
Denetim noktasını yüklemek için görev kimliğini geçirin.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
training_parameters:
checkpoint_run_id : "target_checkpoint_run_id"
AutoML işini gönderme
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
AutoML işinizi göndermek için .yml dosyanızın, çalışma alanı adınızın, kaynak grubunuzun ve abonelik kimliğinizin yolunu içeren aşağıdaki CLI v2 komutunu çalıştırın.
az ml job create --file ./hello-automl-job-basic.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Çıkışlar ve değerlendirme ölçümleri
Otomatik ML eğitim işi çıkış modeli dosyaları, değerlendirme ölçümleri, günlükler ve puanlama dosyası ve ortam dosyası gibi dağıtım yapıtları oluşturur. Bu dosyaları ve ölçümleri alt işlerin çıkışlar, günlükler ve ölçümler sekmesinden görüntüleyebilirsiniz.
İpucu
İş sonuçlarını görüntüle bölümüne giderek iş sonuçlarına nasıl gidileceğini kontrol edin.
Her iş için sağlanan performans grafiklerinin ve ölçümlerin tanımları ve örnekleri için bkz . Otomatik makine öğrenmesi denemesi sonuçlarını değerlendirme.
Modeli kaydetme ve dağıtma
İş tamamlandığında, en iyi deneme sürümünden oluşturulan modeli kaydedin (en iyi birincil ölçümle sonuçlanan yapılandırma). Modeli indirdikten sonra veya ilgili iş kimliğiyle azureml yolunu belirterek kaydedebilirsiniz. Çıkarım ayarlarını değiştirmek istiyorsanız modeli indirin, değiştirin settings.jsonve güncelleştirilmiş model klasörünü kaydedin.
En iyi deneme sürümünü edinin
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
CLI example not available, please use Python SDK.
Modeli kaydedin
Azureml yolunu veya yerel olarak indirdiğiniz yolu kullanarak modeli kaydedin.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
az ml model create --name od-fridge-items-mlflow-model --version 1 --path azureml://jobs/$best_run/outputs/artifacts/outputs/mlflow-model/ --type mlflow_model --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Modeli kaydettikten sonra yönetilen çevrimiçi uç nokta deploy-managed-online-endpoint kullanarak dağıtabilirsiniz.
Çevrimiçi uç noktayı yapılandırma
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: od-fridge-items-endpoint
auth_mode: key
Uç noktayı oluşturma
Çalışma alanında uç noktayı oluşturmak için daha önce oluşturulmuş MLClient olan öğesini kullanın. Bu komut uç nokta oluşturmayı başlatır ve uç nokta oluşturma işlemi devam ederken bir onay yanıtı döndürür.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
az ml online-endpoint create --file .\create_endpoint.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Çevrimiçi dağıtımı yapılandırma
Dağıtım, gerçek çıkarım yapan modeli barındırmak için gereken bir kaynak kümesidir. sınıfını ManagedOnlineDeployment kullanarak uç noktanız için bir dağıtım oluşturun. Dağıtım kümeniz için GPU veya CPU VM sürümlerini kullanabilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
name: od-fridge-items-mlflow-deploy
endpoint_name: od-fridge-items-endpoint
model: azureml:od-fridge-items-mlflow-model@latest
instance_type: Standard_DS3_v2
instance_count: 1
liveness_probe:
failure_threshold: 30
success_threshold: 1
timeout: 2
period: 10
initial_delay: 2000
readiness_probe:
failure_threshold: 10
success_threshold: 1
timeout: 10
period: 10
initial_delay: 2000
Dağıtımı oluştur
Daha önce oluşturduğunuz MLClient çalışma alanında dağıtımı oluşturmak için kullanın. Bu komut dağıtım oluşturmayı başlatır ve dağıtım oluşturma işlemi devam ederken bir onay yanıtı döndürür.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
az ml online-deployment create --file .\create_deployment.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Trafiği güncelleştirme
Varsayılan olarak, geçerli dağıtım 0% trafik alacak şekilde ayarlanır. Trafik yüzdesini, mevcut dağıtımın alması gereken şekilde ayarlayın. Bir uç noktaya sahip tüm dağıtımların trafik yüzdelerinin toplamı 100%aşamaz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
az ml online-endpoint update --name 'od-fridge-items-endpoint' --traffic 'od-fridge-items-mlflow-deploy=100' --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Alternatif olarak, modeli Azure Machine Learning stüdyosu kullanıcı arabiriminden dağıtabilirsiniz. Otomatik ML işinin Modeller sekmesinde dağıtmak istediğiniz modele gidin. Dağıt'ı ve ardından Gerçek zamanlı uç noktaya dağıt'ı seçin.
.
Gözden geçirme sayfanız böyle görünür. Örnek türünü, örnek sayısını seçebilir ve geçerli dağıtım için trafik yüzdesini ayarlayabilirsiniz.
.
.
Çıkarım ayarlarını güncelleştirme
Önceki adımda en iyi modelden mlflow-model/artifacts/settings.json dosyasını indirdiniz. Modeli kaydetmeden önce çıkarım ayarlarını güncelleştirmek için bu dosyayı kullanın. En iyi performans için eğitimle aynı parametreleri kullanın.
Her görevin (ve bazı modellerin) bir dizi parametresi vardır. Varsayılan olarak, eğitim ve doğrulama sırasında parametreler için aynı değerler kullanılır. Modeli çıkarım için kullanırken ihtiyacınız olan davranışa bağlı olarak, bu parametreleri değiştirebilirsiniz. Aşağıdaki listede her görev türü ve modeli için parametreler gösterilir.
| Görev | Parametre adı | Varsayılan |
|---|---|---|
| Görüntü sınıflandırması (çok sınıflı ve çok etiketli) | valid_resize_sizevalid_crop_size |
256 224 |
| Nesne algılama | min_sizemax_sizebox_score_threshnms_iou_threshbox_detections_per_img |
600 1333 0,3 0,5 100 |
| Nesne algılama |
img_sizemodel_sizebox_score_threshnms_iou_thresh |
640 orta 0,1 0,5 |
| Örneği segmentlere ayırma | min_sizemax_sizebox_score_threshnms_iou_threshbox_detections_per_imgmask_pixel_score_thresholdmax_number_of_polygon_pointsexport_as_imageimage_type |
600 1333 0,3 0,5 100 0,5 100 Yanlış JPG |
Göreve özgü hiper parametrelerle ilgili ayrıntılı bir açıklama için otomatik makine öğrenmesindeki görüntü işleme görevleri için hiper parametreler konusuna bakın.
Döşemeyi ve döşeme davranışını denetlemek istiyorsanız, aşağıdaki parametreler kullanılabilir: tile_grid_size, tile_overlap_ratio, ve tile_predictions_nms_thresh. Bu parametreler hakkında daha fazla bilgi için bkz. AutoML kullanarak küçük bir nesne algılama modelini eğitme.
Dağıtımı test et
Dağıtımı test etmek ve modelden algılamaları görselleştirmek için bkz. Dağıtımı test etme.
Tahminler için açıklamalar oluşturma
Önemli
Bu ayarlar şu anda genel önizleme aşamasındadır. Hizmet düzeyi sözleşmesi olmadan sağlanırlar. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Uyarı
Model Açıklanabilirliği yalnızca çok sınıflı sınıflandırmayı ve çok etiketli sınıflandırmayı destekler.
Görüntüler için AutoML ile Açıklanabilir Yapay Zeka (XAI) kullanmanın bazı avantajları şunlardır:
- Karmaşık görüntü işleme modeli tahminlerinde gelişmiş saydamlık
- Kullanıcıların giriş görüntüsündeki model tahminlerine katkıda bulunan önemli özellikleri veya pikselleri anlamasına yardımcı olur
- Modellerin sorunlarını gidermeye yardımcı olur
- Yanlılık keşfetmeye yardımcı olur
Açıklama
Açıklamalar, modelin tahminine katkısını temel alarak giriş görüntüsündeki her piksele verdiğiniz özellik öznitelikleri veya ağırlıklardır. Her ağırlık negatif (tahminle negatif bağıntılı) veya pozitif (tahminle pozitif bağıntılı) olabilir. Bu atıfları öngörülen sınıfa karşı hesaplarsınız. Çok sınıflı sınıflandırma için örnek başına tam olarak bir ilişkilendirme [3, valid_crop_size, valid_crop_size] matrisi oluşturursunuz. Çok etiketli sınıflandırma için, her örnek için tahmin edilen her etiket veya sınıf için bir ilişkilendirme matrisi oluşturursunuz.
Dağıtılan uç noktadaki Görüntüler için AutoML'de Açıklanabilir Yapay Zeka'yı kullanarak, her görüntü için açıklamaların görselleştirmelerini (giriş görüntüsü üzerinde yer alan atıflar) ve atıfların (çok boyutlu [3, valid_crop_size, valid_crop_size] dizisi) alabilirsiniz. Görselleştirmelerin dışında, atıfları kullanarak özel görselleştirmeler oluşturma veya ilişkilendirme segmentlerini inceleme gibi açıklamalar üzerinde daha fazla denetim elde etmek için ilişkilendirme matrisleri de alabilirsiniz. Tüm açıklama algoritmaları, ilişkilendirme oluşturmak için boyutu valid_crop_size kırpılmış kare görüntüleri kullanır.
Çevrimiçi uç noktadan veya toplu iş uç noktasından açıklamalar oluşturabilirsiniz. Uç noktayı dağıttığınızda, tahminlerin açıklamalarını oluşturmak için kullanabilirsiniz. Çevrimiçi dağıtımlarda, açıklama oluştururken request_settings = OnlineRequestSettings(request_timeout_ms=90000) önlemek için parametresini ManagedOnlineDeployment öğesine geçirip request_timeout_ms en yüksek değerine ayarladığınızdan emin olun (model kaydetme ve dağıtma bölümüne bakın). gibi xraiaçıklanabilirlik (XAI) yöntemlerinden bazıları, özellikle çok etiketli sınıflandırma için daha fazla zaman tüketir çünkü tahmin edilen her etiket için öznitelikler ve görselleştirmeler oluşturmanız gerekir. Daha hızlı açıklamalar için herhangi bir GPU örneğini kullanın. Açıklama oluşturmaya yönelik giriş ve çıkış şeması hakkında daha fazla bilgi için şema belgelerine bakın.
Görüntüler için AutoML, aşağıdaki en son teknoloji gelişmiş açıklanabilirlik algoritmalarını destekler.
- XRAI (xrai)
- Tümleşik Gradyanlar (integrated_gradients)
- Yönlendirilmiş GradCAM (guided_gradcam)
- Yönlendirilmiş BackPropagation (guided_backprop)
Aşağıdaki tabloda XRAI ve Tümleşik Gradyanlar için açıklanabilirlik algoritmasına özgü ayarlama parametreleri açıklanmaktadır. Kılavuzlu geri yayılım ve kılavuzlu Grad-CAM için herhangi bir ayarlama parametresi gerekmez.
| XAI algoritması | Algoritmaya özgü parametreler | Varsayılan Değerler |
|---|---|---|
xrai |
1. n_steps: Yaklaşık oluşturma yöntemi tarafından kullanılan adım sayısı. Daha fazla sayıda adım, atıfların (açıklamalar) daha iyi tahmin edilmesine yol açar. n_steps aralığı [2, inf) ancak 50 adımdan sonra ilişkilendirmelerin performansı yakınsanmaya başlar. Optional, Int 2. xrai_fast: XRAI'nin daha hızlı sürümünün kullanılıp kullanılmaymayacağı. ise True, açıklamalar için hesaplama süresi daha hızlıdır ancak daha az doğru açıklamaya (atıflar) yol açar Optional, Bool |
n_steps = 50 xrai_fast = True |
integrated_gradients |
1. n_steps: Yaklaşık oluşturma yöntemi tarafından kullanılan adım sayısı. Daha fazla sayıda adım, daha iyi atıflara (açıklamalar) yol açar. n_steps aralığı [2, inf) ancak 50 adımdan sonra ilişkilendirmelerin performansı yakınsanmaya başlar.Optional, Int 2. approximation_method: İntegrali yaklaşık olarak belirleme yöntemi. Kullanılabilir yaklaşık yöntemler riemann_middle ve gausslegendre.Optional, String |
n_steps = 50 approximation_method = riemann_middle |
XRAI algoritması dahili olarak tümleşik gradyanları kullanır. Bu nedenle hem tümleşik gradyanlar hem de XRAI algoritmaları parametresini n_steps gerektirir. Daha fazla sayıda adım açıklamaları tahmin etmek için daha fazla zaman tüketir ve çevrimiçi uç noktada zaman aşımı sorunlarına neden olabilir.
Daha iyi açıklamalar için XRAI > Destekli GradCAM > Tümleşik Gradyanlar > Destekli Geri Yayılım algoritmalarını kullanın. Daha hızlı açıklamalar için Kılavuzlu BackPropagation > Destekli GradCAM > Tümleşik Gradyanları > XRAI'yi belirtilen sırada kullanın.
Çevrimiçi uç noktaya örnek bir istek aşağıdaki gibi görünür.
model_explainability
True olarak ayarlandığında bu istek açıklamalar oluşturur. Aşağıdaki istek, 50 adımla XRAI algoritmasının daha hızlı sürümünü kullanarak görselleştirmeler ve atıflar oluşturur.
import base64
import json
def read_image(image_path):
with open(image_path, "rb") as f:
return f.read()
sample_image = "./test_image.jpg"
# Define explainability (XAI) parameters
model_explainability = True
xai_parameters = {"xai_algorithm": "xrai",
"n_steps": 50,
"xrai_fast": True,
"visualizations": True,
"attributions": True}
# Create request json
request_json = {"input_data": {"columns": ["image"],
"data": [json.dumps({"image_base64": base64.encodebytes(read_image(sample_image)).decode("utf-8"),
"model_explainability": model_explainability,
"xai_parameters": xai_parameters})],
}
}
request_file_name = "sample_request_data.json"
with open(request_file_name, "w") as request_file:
json.dump(request_json, request_file)
resp = ml_client.online_endpoints.invoke(
endpoint_name=online_endpoint_name,
deployment_name=deployment.name,
request_file=request_file_name,
)
predictions = json.loads(resp)
Açıklama oluşturma hakkında daha fazla bilgi için bkz . Otomatik makine öğrenmesi örnekleri için GitHub not defteri deposu.
Görselleştirmeleri yorumlama
Dağıtılan uç nokta, hem model_explainability hem de visualizationsTrue olarak ayarlandığında base64 kodlu bir görüntü dizesi döndürür. Base64 dizesinin kodunu not defterlerinde açıklandığı gibi çözebilirsiniz veya tahminde base64 görüntü dizelerinin kodunu çözmek ve görselleştirmek için aşağıdaki kodu kullanın.
import base64
from io import BytesIO
from PIL import Image
def base64_to_img(base64_img_str):
base64_img = base64_img_str.encode("utf-8")
decoded_img = base64.b64decode(base64_img)
return BytesIO(decoded_img).getvalue()
# For Multi-class classification:
# Decode and visualize base64 image string for explanations for first input image
# img_bytes = base64_to_img(predictions[0]["visualizations"])
# For Multi-label classification:
# Decode and visualize base64 image string for explanations for first input image against one of the classes
img_bytes = base64_to_img(predictions[0]["visualizations"][0])
image = Image.open(BytesIO(img_bytes))
Aşağıdaki resimde örnek giriş görüntüsü için açıklamaların görselleştirmesi gösterilmektedir.
Çözülen base64 figürü, 2 x 2 kılavuz içinde dört görüntü bölümüne sahiptir.
- Sol üst köşedeki görüntü (0, 0) kırpılan giriş görüntüsüdür.
- Sağ üst köşedeki görüntü (0, 1), tahmin edilen sınıftaki beyaz piksellerin katkısının en yüksek, mavi piksellerin ise en düşük olduğu renk ölçeği bgyw (mavi yeşil sarı beyaz) üzerindeki ilişkilendirmelerin ısı haritasıdır.
- Sol alt köşedeki görüntü (1, 0), kırpılan giriş görüntüsü üzerinde ilişkilendirmelerin karıştırılmış ısı haritasıdır.
- Sağ alt köşedeki görüntü (1, 1), ilişkilendirme puanlarına göre piksellerin ilk yüzde 30'unu içeren kırpılmış giriş resmidir.
Atıfları yorumlama
Konfigüre edilmiş uç nokta, hem model_explainability hem de attributionsTrue olarak ayarlanmışsa ilişkilendirmeleri döndürür. Daha fazla ayrıntı için çok sınıflı sınıflandırma ve çok etiketli sınıflandırma not defterlerine bakın.
Bu atıflar, kullanıcılara özel görselleştirmeler oluşturma veya piksel düzeyi ilişkilendirme puanlarını inceleme denetimi sağlar. Aşağıdaki kod parçacığı, ilişkilendirme matrisini kullanarak özel görselleştirmeler oluşturmanın bir yolunu açıklar. Çok sınıflı sınıflandırma ve çok etiketli sınıflandırma için ilişkilendirme şeması hakkında daha fazla bilgi için şema belgelerine bakın.
Açıklamaları oluşturmak için seçilen modelin tam valid_resize_size ve valid_crop_size değerlerini kullanın (varsayılan değerler sırasıyla 256 ve 224'tür). Aşağıdaki kod, özel görselleştirmeler oluşturmak için Captum görselleştirme işlevini kullanır. Kullanıcılar görselleştirme oluşturmak için başka herhangi bir kitaplığı kullanabilir. Daha fazla ayrıntı için lütfen captum görselleştirme yardımcı programlarına bakın.
import colorcet as cc
import numpy as np
from captum.attr import visualization as viz
from PIL import Image
from torchvision import transforms
def get_common_valid_transforms(resize_to=256, crop_size=224):
return transforms.Compose([
transforms.Resize(resize_to),
transforms.CenterCrop(crop_size)
])
# Load the image
valid_resize_size = 256
valid_crop_size = 224
sample_image = "./test_image.jpg"
image = Image.open(sample_image)
# Perform common validation transforms to get the image used to generate attributions
common_transforms = get_common_valid_transforms(resize_to=valid_resize_size,
crop_size=valid_crop_size)
input_tensor = common_transforms(image)
# Convert output attributions to numpy array
# For Multi-class classification:
# Selecting attribution matrix for first input image
# attributions = np.array(predictions[0]["attributions"])
# For Multi-label classification:
# Selecting first attribution matrix against one of the classes for first input image
attributions = np.array(predictions[0]["attributions"][0])
# visualize results
viz.visualize_image_attr_multiple(np.transpose(attributions, (1, 2, 0)),
np.array(input_tensor),
["original_image", "blended_heat_map"],
["all", "absolute_value"],
show_colorbar=True,
cmap=cc.cm.bgyw,
titles=["original_image", "heatmap"],
fig_size=(12, 12))
Büyük veri kümeleri
Büyük veri kümelerinde eğitmek için AutoML kullanıyorsanız bazı deneysel ayarlar yararlı olabilir.
Önemli
Bu ayarlar şu anda genel önizleme aşamasındadır. Hizmet düzeyi sözleşmesi olmadan sağlanırlar. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Çoklu GPU ve çok düğümlü eğitim
Varsayılan olarak, her model tek bir VM'de eğitilir. Modelin eğitimi çok fazla zaman alıyorsa, birden çok GPU içeren VM'lerin kullanılması yararlı olabilir. Modeli büyük veri kümelerinde eğitmek için gereken süre, kullanılan GPU sayısına göre kabaca doğrusal oranda azalır. Örneğin, model iki GPU'ya sahip bir VM'de, bir GPU'ya sahip bir VM'e göre yaklaşık iki kat daha hızlı eğitilir. Birden çok GPU'ya sahip bir VM'de modeli eğitmek için gereken süre hala yüksekse, her modeli eğitmek için kullanılan VM sayısını artırabilirsiniz. Çoklu GPU eğitimine benzer şekilde, modeli büyük veri kümelerinde eğitmek için gereken süre de kullanılan VM sayısına göre kabaca doğrusal oranda azalır. Bir modeli birden çok VM arasında eğitirken, en iyi sonuçlar için InfiniBand'i destekleyen bir işlem SKU'su kullandığınızdan emin olun. AutoML işinin özelliğini ayarlayarak node_count_per_trial tek bir modeli eğitmek için kullanılan VM sayısını yapılandırabilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
properties:
node_count_per_trial: "2"
Depolama alanından görüntü dosyalarını akışla aktarma
Eğitim işlemi varsayılan olarak başlamadan önce tüm görüntü dosyalarını diske indirir. Görüntü dosyalarının boyutu kullanılabilir disk alanından büyükse, iş başarısız olur. Bu sorunu önlemek için eğitim sırasında Azure depolamadan görüntü dosyalarını akışla aktarma seçeneğini belirleyin. Eğitim işlemi, görüntü dosyalarını Azure depolamadan doğrudan sistem belleğine aktararak diski atlar. Aynı zamanda işlem, depolamaya yönelik istek sayısını en aza indirmek için diskteki depolama alanından mümkün olduğunca çok dosyayı önbelleğe alır.
Not
Akışı etkinleştirirseniz, maliyeti ve gecikme süresini en aza indirmek için Azure depolama hesabının işlem kaynağıyla aynı bölgede olduğundan emin olun.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
training_parameters:
advanced_settings: >
{"stream_image_files": true}
Örnek not defterleri
Ayrıntılı kod örnekleri ve kullanım örnekleri için otomatik makine öğrenmesi örnekleri için GitHub not defteri deposuna bakın. Görüntü işleme modelleri oluşturmaya özgü örnekler için klasörleri 'automl-image-' ön eki ile denetleyin.
Kod örnekleri
Ayrıntılı kod örnekleri ve kullanım örnekleri için otomatik makine öğrenmesi örnekleri için azureml-examples deposuna bakın.
Sonraki adımlar
- Öğretici: AutoML ve Python ile nesne algılama modelini eğitme.