Öğretici: Azure Machine Learning Visual Studio Code Uzantısı'nı (önizleme) kullanarak bir görüntü sınıflandırması TensorFlow modelini eğitme
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)
TensorFlow ve Azure Machine Learning Visual Studio Code Uzantısı'nı kullanarak elle yazılmış sayıları tanıyacak bir görüntü sınıflandırma modelini eğitmeyi öğrenin.
Önemli
Bu özellik şu anda genel önizlemededir. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için bu sürümü önermeyiz. 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ı.
Bu öğreticide aşağıdaki görevleri öğreneceksiniz:
- Kodu anlama
- Çalışma alanı oluşturma
- Modeli eğitme
Önkoşullar
- Azure aboneliği. Aboneliğiniz yoksa Azure Machine Learning'in ücretsiz veya ücretli sürümünü denemek için kaydolun. Ücretsiz aboneliği kullanıyorsanız yalnızca CPU kümeleri desteklenir.
- Basit, platformlar arası bir kod düzenleyicisi olan Visual Studio Code'u yükleyin.
- Visual Studio Code uzantısını Azure Machine Learning stüdyosu. Yükleme yönergeleri için Bkz . Azure Machine Learning Visual Studio Code uzantısını ayarlama kılavuzu
- CLI (v2). Yükleme yönergeleri için bkz . CLI'yı yükleme, ayarlama ve kullanma (v2)
- Topluluk temelli depoyu kopyalama
git clone https://github.com/Azure/azureml-examples.git
Kodu anlama
Bu öğreticinin kodu, 0-9 arası el yazısı basamakları kategorilere ayıran bir görüntü sınıflandırma makine öğrenmesi modelini eğitmek için TensorFlow kullanır. Bunu, giriş olarak 28 piksel x 28 piksel görüntünün piksel değerlerini alan ve sınıflandırılan basamakların her biri için bir tane olmak üzere 10 olasılık listesini veren bir sinir ağı oluşturarak yapar. Bu, verilerin nasıl göründüğüne ilişkin bir örnektir.
Çalışma alanı oluşturma
Azure Machine Learning'de uygulama oluşturmak için yapmanız gereken ilk şey bir çalışma alanı oluşturmaktır. Çalışma alanı, modelleri ve eğitilen modelleri eğitecek kaynakları içerir. Daha fazla bilgi için bkz . Çalışma alanı nedir?
Visual Studio Code'daki topluluk temelli depodan azureml-examples/cli/jobs/single-step/tensorflow/mnist dizinini açın.
Visual Studio Code etkinlik çubuğunda Azure simgesini seçerek Azure Machine Learning görünümünü açın.
Azure Machine Learning görünümünde abonelik düğümünüzü sağ tıklatın ve Çalışma Alanı Oluştur'u seçin.
Bir belirtim dosyası görüntülenir. Belirtim dosyasını aşağıdaki seçeneklerle yapılandırın.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json name: TeamWorkspace location: WestUS2 display_name: team-ml-workspace description: A workspace for training machine learning models tags: purpose: training team: ml-team
Belirtim dosyası, bölgede
WestUS2
adlıTeamWorkspace
bir çalışma alanı oluşturur. Belirtim dosyasında tanımlanan seçeneklerin geri kalanı, çalışma alanı için kolay adlandırma, açıklamalar ve etiketler sağlar.Belirtim dosyasına sağ tıklayın ve AzureML: YAML Yürütme'yi seçin. Kaynak oluşturma işlemi YAML belirtim dosyasında tanımlanan yapılandırma seçeneklerini kullanır ve CLI (v2) kullanarak bir iş gönderir. Bu noktada, hesabınızda yeni bir çalışma alanı ve bağımlı kaynaklar oluşturmak için Azure'a bir istek gönderilir. Birkaç dakika sonra yeni çalışma alanı abonelik düğümünüzün içinde görünür.
Varsayılan çalışma alanınız olarak ayarlayın
TeamWorkspace
. Bunu yaptığınızda, oluşturduğunuz kaynaklar ve işler varsayılan olarak çalışma alanına eklenir. Visual Studio Code durum çubuğunda Azure Machine Learning Çalışma Alanını Ayarla düğmesini seçin ve istemleri izleyerek varsayılan çalışma alanınız olarak ayarlayınTeamWorkspace
.
Çalışma alanları hakkında daha fazla bilgi için bkz . VS Code'da kaynakları yönetme.
Modeli eğitme
Eğitim sürecinde, sınıflandırılan ilgili basamakların her biri için içine eklenmiş eğitim verileri ve öğrenme desenleri işlenerek bir TensorFlow modeli eğitilir.
Çalışma alanları ve işlem hedefleri gibi eğitim işleri de kaynak şablonları kullanılarak tanımlanır. Bu örnek için belirtim, aşağıdaki gibi görünen job.yml dosyasında tanımlanır:
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >
python train.py
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48
resources:
instance_type: Standard_NC12
instance_count: 3
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.
Bu belirtim dosyası, kodu train.py Python betiğinde çalıştıran yakın zamanda oluşturulan gpu-cluster
bilgisayar hedefine adlı tensorflow-mnist-example
bir eğitim işi gönderir. Kullanılan ortam, Eğitim betiğini çalıştırmak için gereken TensorFlow ve diğer yazılım bağımlılıklarını içeren Azure Machine Learning tarafından sağlanan seçilmiş ortamlardan biridir. Seçilen ortamlar hakkında daha fazla bilgi için bkz . Azure Machine Learning'in seçilmiş ortamları.
Eğitim işini göndermek için:
- job.yml dosyasını açın.
- Metin düzenleyicisinde dosyaya sağ tıklayın ve AzureML: YAML Yürütme'yi seçin.
Bu noktada, denemenizi çalışma alanınızdaki seçili işlem hedefi üzerinde çalıştırmak için Azure'a bir istek gönderilir. Bu işlem birkaç dakika sürer. Eğitim işini çalıştırma süresi, işlem türü ve eğitim veri boyutu gibi çeşitli faktörlerden etkilenir. Denemenizin ilerleme durumunu izlemek için geçerli çalıştırma düğümüne sağ tıklayın ve Azure portalında İşi Görüntüle'yi seçin.
Dış web sitesi açmayı isteyen iletişim kutusu görüntülendiğinde Aç'ı seçin.
Model eğitimi tamamlandığında, çalıştırma düğümünü yanındaki durum etiketi "Tamamlandı" olarak güncelleştirilir.
Sonraki adımlar
- Azure Machine Learning ile tümleşik Visual Studio Code başlatma (önizleme)
- Kodu yerel olarak düzenleme, çalıştırma ve hata ayıklama yönergeleri için bkz . Python hello-world öğreticisi.
- Uzak bir Jupyter sunucusu kullanarak Visual Studio Code'da Jupyter Notebooks'u çalıştırın.
- Visual Studio Code'un dışında Azure Machine Learning ile eğitme adımları için bkz . Öğretici: Azure Machine Learning ile model eğitme ve dağıtma.