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.
ŞUNUN IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v1Python SDK azureml v1
Önemli
Bu makalede Azure Machine Learning SDK v1 kullanımı hakkında bilgi sağlanır. SDK v1, 31 Mart 2025 itibarıyla kullanım dışı bırakılmıştır. Destek 30 Haziran 2026'da sona erecektir. Bu tarihe kadar SDK v1'i yükleyebilir ve kullanabilirsiniz. SDK v1 kullanan mevcut iş akışlarınız destek sonu tarihinden sonra çalışmaya devam edecektir. Ancak, üründe mimari değişiklikler olması durumunda güvenlik risklerine veya yıkıcı değişikliklere maruz kalabilirler.
30 Haziran 2026'dan önce SDK v2'ye geçmenizi öneririz. SDK v2 hakkında daha fazla bilgi için bkz. Azure Machine Learning CLI ve Python SDK v2 nedir? ve SDK v2 başvurusu.
Bu makalede, modeli web hizmeti olarak dağıtırken model için ne kadar CPU ve bellek ayırmanız gerektiğini belirlemek üzere bir makine öğrenmesinin profilinin nasıl belirleneceği gösterilmektedir.
Önemli
Bu makale CLI v1 ve SDK v1 için geçerlidir. Bu profil oluşturma tekniği CLI veya SDK'nın v2'sinde kullanılamaz.
Önemli
Bu makaledeki Azure CLI komutlarından bazıları Azure Machine Learning için uzantısını veya v1'i kullanır azure-cli-ml. CLI v1 desteği 30 Eylül 2025'te sona erdi. Microsoft artık bu hizmet için teknik destek veya güncelleştirme sağlamayacaktır. CLI v1 kullanan mevcut iş akışlarınız destek sonu tarihinden sonra çalışmaya devam edecektir. Ancak, üründe mimari değişiklikler olması durumunda güvenlik risklerine veya yıkıcı değişikliklere maruz kalabilirler.
Mümkün olan en kısa sürede ml, veya v2 uzantısına geçmenizi öneririz. v2 uzantısı hakkında daha fazla bilgi için bkz . Azure Machine Learning CLI uzantısı ve Python SDK v2.
Önkoşullar
Bu makalede, Azure Machine Learning ile bir modeli eğitip kaydettiğiniz varsayılır. Azure Machine Learning ile scikit-learn modelini eğitip kaydetme örneği için buradaki örnek öğreticiye bakın.
Sınırlamalar
- Çalışma alanınızın Azure Container Registry (ACR) bir sanal ağın arkasındaysa, profilleme işlemi çalışmaz.
Profil oluşturucuyu çalıştırma
Modelinizi kaydettikten ve dağıtımı için gerekli diğer bileşenleri hazırladıktan sonra dağıtılan hizmetin ihtiyaç duyduğu CPU ve belleği belirleyebilirsiniz. Profil oluşturma, modelinizi çalıştıran hizmeti test edip CPU kullanımı, bellek kullanımı ve yanıt gecikme süresi gibi bilgileri döndürür. Ayrıca, kaynak kullanımına göre CPU ve bellek için bir öneri sağlar.
Modelinizin profilini almak için şunları yapmanız gerekir:
- Kayıtlı bir model.
- Giriş betiği ve çıkarım ortamı tanımınızı temel alan bir çıkarım yapılandırması.
- Her satırın örnek istek verilerini temsil eden bir dize içerdiği, tek sütunlu bir tablo veri kümesi.
Önemli
Azure Machine Learning yalnızca istek verilerinin dize olmasını bekleyen hizmetlerin profilini oluşturmayı destekler; örneğin: dize serileştirilmiş json, metin, dize serileştirilmiş görüntüsü vb. Veri kümesinin (dize) her satırının içeriği HTTP isteğinin gövdesine konur ve modeli puanlama için kapsülleyen hizmete gönderilir.
Önemli
ChinaEast2 ve USGovArizona bölgesinde yalnızca 2 CPU'ya kadar profil oluşturmayı destekliyoruz.
Aşağıda, gelen istek verilerinin serileştirilmiş json içermesini bekleyen bir hizmetin profilini oluşturmak için bir giriş veri kümesini nasıl oluşturabileceğinize ilişkin bir örnek verilmiştir. Bu durumda, aynı istek verileri içeriğinin 100 örneğini temel alan bir veri kümesi oluşturduk. Gerçek dünya senaryolarında, özellikle model kaynağı kullanımınız/davranışınız girişe bağımlıysa, çeşitli girişler içeren daha büyük veri kümeleri kullanmanızı öneririz.
ŞUNLAR IÇIN GEÇERLIDIR:
Python için Azure Machine Learning SDK v1
import json
from azureml.core import Datastore
from azureml.core.dataset import Dataset
from azureml.data import dataset_type_definitions
input_json = {'data': [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]]}
# create a string that can be utf-8 encoded and
# put in the body of the request
serialized_input_json = json.dumps(input_json)
dataset_content = []
for i in range(100):
dataset_content.append(serialized_input_json)
dataset_content = '\n'.join(dataset_content)
file_name = 'sample_request_data.txt'
f = open(file_name, 'w')
f.write(dataset_content)
f.close()
# upload the txt file created above to the Datastore and create a dataset from it
data_store = Datastore.get_default(ws)
data_store.upload_files(['./' + file_name], target_path='sample_request_data')
datastore_path = [(data_store, 'sample_request_data' +'/' + file_name)]
sample_request_data = Dataset.Tabular.from_delimited_files(
datastore_path, separator='\n',
infer_column_types=True,
header=dataset_type_definitions.PromoteHeadersBehavior.NO_HEADERS)
sample_request_data = sample_request_data.register(workspace=ws,
name='sample_request_data',
create_new_version=True)
Örnek istek verilerini içeren veri kümesini hazırladıktan sonra bir çıkarım yapılandırması oluşturun. Çıkarım yapılandırması, score.py ve ortam tanımını temel alır. Aşağıdaki örnekte çıkarım yapılandırmasının nasıl oluşturulacağı ve profil oluşturmanın nasıl çalıştıracağı gösterilmektedir:
from azureml.core.model import InferenceConfig, Model
from azureml.core.dataset import Dataset
model = Model(ws, id=model_id)
inference_config = InferenceConfig(entry_script='path-to-score.py',
environment=myenv)
input_dataset = Dataset.get_by_name(workspace=ws, name='sample_request_data')
profile = Model.profile(ws,
'unique_name',
[model],
inference_config,
input_dataset=input_dataset)
profile.wait_for_completion(True)
# see the result
details = profile.get_details()
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v1
Aşağıdaki komut, CLI kullanarak bir modelin profilinin nasıl yapılacağını gösterir:
az ml model profile -g <resource-group-name> -w <workspace-name> --inference-config-file <path-to-inf-config.json> -m <model-id> --idi <input-dataset-id> -n <unique-name>
İpucu
Profil oluşturma tarafından döndürülen bilgileri kalıcı hale getirmek için modelin etiketlerini veya özelliklerini kullanın. Etiketlerin veya özelliklerin kullanılması, verileri model kayıt defterinde modelle birlikte depolar. Aşağıdaki örneklerde ve requestedCpu bilgilerini içeren yeni bir etiket ekleme gösterilmektedirrequestedMemoryInGb:
model.add_tags({'requestedCpu': details['requestedCpu'],
'requestedMemoryInGb': details['requestedMemoryInGb']})
az ml model profile -g <resource-group-name> -w <workspace-name> --i <model-id> --add-tag requestedCpu=1 --add-tag requestedMemoryInGb=0.5
Sonraki adımlar
- Başarısız bir dağıtımın sorunlarını giderme
- Azure Kubernetes Service'e dağıtma
- Web hizmetlerini kullanmak için istemci uygulamaları oluşturma
- Web hizmetini güncelleştirme
- Özel Docker görüntüsü kullanarak model dağıtma
- TLS kullanarak Azure Machine Learning aracılığıyla web hizmetinin güvenliğini sağlama
- Application Insights ile Azure Machine Learning modellerinizi izleme
- Üretimde modeller için veri toplama
- Model dağıtımları için olay uyarıları ve tetikleyicileri oluşturma