Öğretici: Azure Machine Learning modelini eğitme ve dağıtma
Şunlar için geçerlidir: 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:
- Jupyter Notebook: Visual Studio Code'da Jupyter not defterleriyle çalışma
- Azure Machine Learning: Jupyter not defterlerinde Azure Machine Learning'i kullanmaya başlama
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.
Visual Studio Code'da, menü çubuğundan Komut Paletini Görüntüle'yi>seçerek komut paletini açın.
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.İş yükünüzü çalıştırmak için bir Machine Learning işlem örneği oluşturun. Komut paletinde komutunu
Azure ML: Create Compute
girin.Azure aboneliği seçin.
+ Yeni Azure ML Çalışma Alanı Oluştur'u seçin ve turbofandemo adını girin.
Bu tanıtım için kullandığınız kaynak grubunu seçin.
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.
Ç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.
ml.azure.com gidin ve oturum açın.
Microsoft dizininizi, Azure aboneliğinizi ve yeni oluşturulan Machine Learning çalışma alanını seçin.
Machine Learning çalışma alanınızda oturum açtıktan sonra sol taraftaki menüyü kullanarak Not Defterleri bölümüne gidin.
Dosyalarım sekmesini seçin.
Karşıya Yükle'yi (yukarı ok simgesi) seçin.
C:\source\IoTEdgeAndMlSample\AzureNotebooks'a gidin. Listedeki tüm dosyaları seçin ve Aç'ı seçin.
Bu dosyaların içeriğine güveniyorum onay kutusunu seçin.
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:
- Cihaz koşumu tarafından oluşturulan Azure Depolama hesabından verileri indirir.
- Verileri araştırıp hazırlar ve ardından sınıflandırıcı modelini eğitmek için verileri kullanır.
- Test veri kümesi (Test_FD003.txt) kullanarak denemeden modeli değerlendirir.
- 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:
- Model için bir puanlama betiği oluşturur.
- Machine Learning çalışma alanına kaydedilmiş sınıflandırıcı modelini kullanarak bir kapsayıcı görüntüsü oluşturur.
- Görüntüyü Azure Container Instances'ta web hizmeti olarak dağıtır.
- 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.
Dosyalarım sayfanızdan 01-turbofan_regression.ipynb öğesini seçin.
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.
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.
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.
Ç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.
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.
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.
Not defterinde kalan hücreleri çalıştırın.
Not defterini kaydedin ve proje sayfanıza dönün.
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.
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.
Machine Learning not defterleri Dosyalarım sekmesinde yenile'yi seçin.
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. 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.