Aracılığıyla paylaş


Öğretici: Azure Machine Learning modelini eğitme ve dağıtma

Şunlar için geçerlidir: evet simgesi IoT Edge 1.1

Önemli

IoT Edge 1.1 destek sonu tarihi 13 Aralık 2022'ydi. Bu ürünün, hizmetin, teknolojinin veya API’nin nasıl desteklendiği hakkında bilgi edinmek için Microsoft Ürün Yaşam Döngüsü’ne göz atın. IoT Edge'in en son sürümüne güncelleştirme hakkında daha fazla bilgi için bkz . IoT Edge'i güncelleştirme.

Bu makalede aşağıdaki görevleri gerçekleştireceğiz:

  • Makine öğrenmesi modelini eğitmek için Azure Machine Learning Studio'yu kullanın.
  • Eğitilen modeli kapsayıcı görüntüsü olarak paketleyin.
  • Kapsayıcı görüntüsünü Azure IoT Edge modülü olarak dağıtın.

Machine Learning Studio, makine öğrenmesi modellerini denemek, eğitmek ve dağıtmak için kullanılan temel bir blokdur.

Bu makaledeki adımlar genellikle veri bilimcileri tarafından gerçekleştirilebilir.

Öğreticinin bu bölümünde şunların nasıl yapılacağını öğreneceksiniz:

  • Bir makine öğrenmesi modelini eğitmek için Azure Machine Learning çalışma alanında Jupyter not defterleri oluşturun.
  • Eğitilen makine öğrenmesi modelini kapsayıcılı hale getirir.
  • Kapsayıcılı makine öğrenmesi modelinden bir IoT Edge modülü oluşturun.

Önkoşullar

Bu makale, IoT Edge'de Machine Learning'i kullanma hakkında bir öğreticiye yönelik serinin bir parçasıdır. Serideki her makale, önceki makaledeki çalışmaya göre derlemektedir. Bu makaleye doğrudan ulaştıysanız serideki ilk makaleye bakın.

Azure Machine Learning'i ayarlama

Machine Learning Studio'yu iki Jupyter not defterini ve destekleyici dosyaları barındırmak için kullanırız. Burada bir Machine Learning projesi oluşturup yapılandıracağız. Jupyter veya Machine Learning Studio kullanmadıysanız, iki giriş belgesi aşağıdadır:

Not

Hizmet ayarlandıktan sonra Machine Learning'e herhangi bir makineden erişilebilir. Kurulum sırasında ihtiyacınız olan tüm dosyaları içeren geliştirme VM'sini kullanmanız gerekir.

Azure Machine Learning Visual Studio Code uzantısını yükleme

Geliştirme VM'sinde Visual Studio Code'da bu uzantı yüklü olmalıdır. Farklı bir örnekte çalıştırıyorsanız, Visual Studio Code uzantısını ayarlama bölümünde açıklandığı gibi uzantıyı yeniden yükleyin.

Azure Machine Learning hesabı oluşturma

Azure'da kaynak sağlamak ve iş yüklerini çalıştırmak için Azure hesabı kimlik bilgilerinizle oturum açın.

  1. Visual Studio Code'da, menü çubuğundan Komut Paletini Görüntüle'yi>seçerek komut paletini açın.

  2. Azure: Sign In Oturum açma işlemini başlatmak için komut paletine komutunu girin. Oturum açmayı tamamlamak için yönergeleri izleyin.

  3. İş yükünüzü çalıştırmak için bir Machine Learning işlem örneği oluşturun. Komut paletinde komutunu Azure ML: Create Computegirin.

  4. Azure aboneliği seçin.

  5. + Yeni Azure ML Çalışma Alanı Oluştur'u seçin ve turbofandemo adını girin.

  6. Bu tanıtım için kullandığınız kaynak grubunu seçin.

  7. Visual Studio Code pencerenizin sağ alt köşesinde çalışma alanı oluşturma işleminin ilerleme durumunu görmeniz gerekir: Çalışma Alanı Oluşturma: turobofandemo. Bu adım bir veya iki dakika sürebilir.

  8. Çalışma alanının başarıyla oluşturulmasını bekleyin. Azure ML çalışma alanı turbofandemo oluşturuldu şeklinde olmalıdır.

Jupyter Notebook dosyalarını karşıya yükleme

Örnek not defteri dosyalarını yeni bir Machine Learning çalışma alanına yükleyeceğiz.

  1. ml.azure.com gidin ve oturum açın.

  2. Microsoft dizininizi, Azure aboneliğinizi ve yeni oluşturulan Machine Learning çalışma alanını seçin.

    Azure Machine Learning çalışma alanınızı seçmeyi gösteren ekran görüntüsü.

  3. Machine Learning çalışma alanınızda oturum açtıktan sonra sol taraftaki menüyü kullanarak Not Defterleri bölümüne gidin.

  4. Dosyalarım sekmesini seçin.

  5. Karşıya Yükle'yi (yukarı ok simgesi) seçin.

  6. C:\source\IoTEdgeAndMlSample\AzureNotebooks'a gidin. Listedeki tüm dosyaları seçin ve Aç'ı seçin.

  7. Bu dosyaların içeriğine güveniyorum onay kutusunu seçin.

  8. Karşıya yüklemeye başlamak için Karşıya Yükle'yi seçin. İşlem tamamlandıktan sonra Bitti'yi seçin.

Jupyter Notebook dosyaları

Şimdi Machine Learning çalışma alanınıza yüklediğiniz dosyaları gözden geçirelim. Öğreticinin bu bölümündeki etkinlikler, birkaç destekleyici dosya kullanan iki not defteri dosyası arasında yer alır.

  • 01-turbofan_regression.ipynb: Bu not defteri makine öğrenmesi denemesi oluşturmak ve çalıştırmak için Machine Learning çalışma alanını kullanır. Genel olarak, not defteri aşağıdaki adımları uygular:

    1. Cihaz koşumu tarafından oluşturulan Azure Depolama hesabından verileri indirir.
    2. Verileri araştırıp hazırlar ve ardından sınıflandırıcı modelini eğitmek için verileri kullanır.
    3. Test veri kümesi (Test_FD003.txt) kullanarak denemeden modeli değerlendirir.
    4. Machine Learning çalışma alanında en iyi sınıflandırıcı modelini yayımlar.
  • 02-turbofan_deploy_model.ipynb: Bu not defteri önceki not defterinde oluşturulan modeli alır ve ioT Edge cihazına dağıtılmaya hazır bir kapsayıcı görüntüsü oluşturmak için kullanır. Not defteri aşağıdaki adımları gerçekleştirir:

    1. Model için bir puanlama betiği oluşturur.
    2. Machine Learning çalışma alanına kaydedilmiş sınıflandırıcı modelini kullanarak bir kapsayıcı görüntüsü oluşturur.
    3. Görüntüyü Azure Container Instances'ta web hizmeti olarak dağıtır.
    4. Modeli doğrulamak ve görüntünün beklendiği gibi çalıştığını doğrulamak için web hizmetini kullanır. Doğrulanan görüntü, bu öğreticinin Özel IoT Edge modülleri oluşturma ve dağıtma bölümünde IoT Edge cihazımıza dağıtılacaktır.
  • Test_FD003.txt: Bu dosya, eğitilen sınıflandırıcımızı doğrularken test kümemiz olarak kullanacağımız verileri içerir. Test verilerini, özgün yarışmada sağlandığı gibi, basitliği için testimiz olarak kullanmayı seçtik.

  • RUL_FD003.txt: Bu dosya, Test_FD003.txt dosyasındaki her cihazın son döngüsü için kalan yararlı ömrü (RUL) içerir. Verilerin ayrıntılı açıklaması için C:\source\IoTEdgeAndMlSample\data\Turbofan içindeki readme.txt ve Hasar Yayma Modeling.pdf dosyalarına bakın.

  • Utils.py: Bu dosya, verilerle çalışmaya yönelik bir dizi Python yardımcı programı işlevi içerir. İlk not defteri, işlevlerin ayrıntılı bir açıklamasını içerir.

  • README.md: Bu benioku dosyası, not defterlerinin kullanımını açıklar.

Jupyter not defterlerini çalıştırma

Artık çalışma alanı oluşturulduğuna göre not defterlerini çalıştırabilirsiniz.

  1. Dosyalarım sayfanızdan 01-turbofan_regression.ipynb öğesini seçin.

    Çalıştırılacak ilk not defterinin seçilmesini gösteren ekran görüntüsü.

  2. Not defteri Güvenilir Değil olarak listeleniyorsa, not defterinin sağ üst köşesindeki Güvenilir Değil pencere öğesini seçin. İletişim kutusu görüntülendiğinde Güven'i seçin.

  3. En iyi sonuçlar için her hücrenin belgelerini okuyun ve ayrı ayrı çalıştırın. Araç çubuğunda Çalıştır'ı seçin. Daha sonra, birden çok hücreyi çalıştırmanın daha uygun olduğunu göreceksiniz. Yükseltme ve kullanımdan kaldırma uyarılarını göz ardı edebilirsiniz.

    Bir hücre çalışırken köşeli ayraçlar ([*]) arasında yıldız işareti görüntüler. Hücrenin işlemi tamamlandığında, yıldız işareti bir sayı ile değiştirilir ve ilgili çıkış görüntülenebilir. Not defterindeki hücreler sıralı olarak derlenebilir ve aynı anda yalnızca bir hücre çalıştırılabilir.

    Hücre menüsünden çalıştırma seçeneklerini de kullanabilirsiniz. Bir hücreyi çalıştırmak için Ctrl+Enter tuşlarına basın ve bir hücreyi çalıştırmak ve sonraki hücreye ilerlemek için Shift+Enter tuşlarına basın.

    İpucu

    Tutarlı hücre işlemleri için, tarayıcınızda birden çok sekmeden aynı not defterini çalıştırmaktan kaçının.

  4. Genel özellikleri ayarla yönergelerini izleyen hücreye Azure aboneliğinizin, ayarlarınızın ve kaynaklarınızın değerlerini girin. Ardından hücreyi çalıştırın.

    Not defterinde genel özellikleri ayarlamayı gösteren ekran görüntüsü.

  5. Çalışma alanı ayrıntıları'nın önceki hücresinde, çalışma alanı çalıştırıldıktan sonra kimlik doğrulaması için oturum açmanızı sağlayan bağlantıyı arayın.

    Cihaz kimlik doğrulaması için oturum açma istemini gösteren ekran görüntüsü.

    Bağlantıyı açın ve belirtilen kodu girin. Bu oturum açma yordamı, Microsoft Azure Platformlar Arası Komut Satırı Arabirimi'ni kullanarak Azure kaynaklarına erişmek için Jupyter not defterinin kimliğini doğrular.

    Cihaz onayı üzerinde uygulamanın kimliğini doğrulamayı gösteren ekran görüntüsü.

  6. Sonuçları araştır'ın önündeki hücrede, çalıştırma kimliğindeki değeri kopyalayın ve çalıştırmayı yeniden oluştur'un ardından gelen hücreye çalıştırma kimliği için yapıştırın.

    Çalışma kimliğini hücreler arasında kopyalamayı gösteren ekran görüntüsü.

  7. Not defterinde kalan hücreleri çalıştırın.

  8. Not defterini kaydedin ve proje sayfanıza dönün.

  9. 02-turbofan_deploy_model.ipynb dosyasını açın ve her hücreyi çalıştırın. Çalışma alanını yapılandır'ı izleyen hücrede kimlik doğrulaması yapmak için oturum açmanız gerekir.

  10. Not defterini kaydedin ve proje sayfanıza dönün.

Başarılı olduğunu doğrulama

Not defterlerinin başarıyla tamamlandığını doğrulamak için birkaç öğenin oluşturulduğunu doğrulayın.

  1. Machine Learning not defterleri Dosyalarım sekmesinde yenile'yi seçin.

  2. Aşağıdaki dosyaların oluşturulduğunu doğrulayın.

    Dosya Açıklama
    ./aml_config/.azureml/config.json Machine Learning çalışma alanını oluşturmak için kullanılan yapılandırma dosyası.
    ./aml_config/model_config.json Modeli Azure'daki turbofanDemo Machine Learning çalışma alanına dağıtmamız gereken yapılandırma dosyası.
    myenv.yml Dağıtılan Machine Learning modelinin bağımlılıkları hakkında bilgi sağlar.
  3. Aşağıdaki Azure kaynaklarının oluşturulduğunu doğrulayın. Bazı kaynak adları rastgele karakterlerle eklenir.

    Azure kaynağı Veri Akışı Adı
    Azure Machine Learning çalışma alanı turborfanDemo
    Azure Container Registry turbofandemoxxxxxxxx
    Application Insights turbofaninsightxxx
    Azure Key Vault turbofankeyvaultbxx
    Azure Depolama turbofanstoragexxx

Hata ayıklama

Hata ayıklama için not defterine Python deyimleri ekleyebilirsiniz; örneğin print() değerleri gösterme komutu. Tanımlanmamış değişkenler veya nesneler görürseniz, ilk bildirildiği veya örneklendiği hücreleri çalıştırın.

Not defterlerini yeniden yapmanız gerekiyorsa önceden oluşturulmuş dosyaları ve Azure kaynaklarını silmeniz gerekebilir.

Kaynakları temizleme

Bu öğretici, her makalenin öncekilerde yapılan işlere göre derlendiği bir kümenin parçasıdır. Son öğreticiyi tamamlayana kadar kaynakları temizlemeyi bekleyin.

Sonraki adımlar

Bu makalede, turbofan cihazlarından alınan verileri kullanmak için Machine Learning Studio'da çalışan iki Jupyter not defteri kullandık:

  • RUL sınıflandırıcısı eğitin.
  • Sınıflandırıcıyı model olarak kaydedin.
  • Kapsayıcı görüntüsü oluşturun.
  • Görüntüyü web hizmeti olarak dağıtın ve test edin.

IoT Edge cihazı oluşturmak için sonraki makaleye geçin.