Azure Stack Edge Pro GPU cihazında GPU özellikli bir IoT modülü dağıtma
ŞUNLAR IÇIN GEÇERLIDIR: Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Not
Linux VM'sinde en son IoT Edge sürümünü dağıtmanızı kesinlikle öneririz. Azure Stack Edge'de yönetilen IoT Edge, ioT Edge çalışma zamanının en son özelliklere ve yamalara sahip olmayan eski bir sürümünü kullanır. Yönergeler için bkz . Ubuntu VM dağıtma. IoT Edge çalıştırabilen diğer desteklenen Linux dağıtımları hakkında daha fazla bilgi için bkz . Azure IoT Edge tarafından desteklenen sistemler – Kapsayıcı altyapıları.
Bu makalede, Azure Stack Edge Pro GPU cihazınızda GPU özellikli bir IoT Edge modülünün nasıl dağıtılacağı açıklanmaktadır.
Bu makalede şunları öğreneceksiniz:
- Gpu modülünü çalıştırmak için Azure Stack Edge Pro'u hazırlayın.
- Git deposundan örnek kodu indirin ve yükleyin.
- Çözümü derleyin ve bir dağıtım bildirimi oluşturun.
- Çözümü Azure Stack Edge Pro cihazına dağıtın.
- Modül çıkışını izleyin.
Örnek modül hakkında
Bu makaledeki GPU örnek modülü, GPU'ya karşı CPU için PyTorch ve TensorFlow karşılaştırma örnek kodunu içerir.
Önkoşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- GPU özellikli bir 1 düğümlü Azure Stack Edge Pro cihazına erişiminiz var. Bu cihaz, Azure'da bir kaynakla birlikte etkinleştirilir. Bkz . Cihazı etkinleştirme.
- Bu cihazda işlem yapılandırdıysanız. Öğretici: Azure Stack Edge Pro cihazınızda işlem yapılandırma sayfasındaki adımları izleyin.
- Azure Container Registry (ACR). Erişim anahtarları dikey penceresine gidin ve ACR oturum açma sunucusunu, kullanıcı adını ve parolayı not edin. Daha fazla bilgi için Hızlı Başlangıç: Azure portalını kullanarak özel kapsayıcı kayıt defteri oluşturma bölümüne gidin.
- Bir Windows istemcisinde aşağıdaki geliştirme kaynakları:
- Azure CLI 2.0 veya üzeri
- Docker CE. Yazılımı indirip yüklemek için bir hesap oluşturmanız gerekebilir.
- Visual Studio Code
- Visual Studio Code için Azure IoT Edge uzantısı.
- Visual Studio Code için Python uzantısı
- Python 3
- Python paketlerini yüklemek için Pip (genellikle Python yüklemenize dahil)
Örnek kodunu alma
Azure örneklerinde Azure Akıllı Uç Desenleri'ne gidin. Kod için zip dosyasını kopyalayın veya indirin.
Zip'ten dosyaları ayıklayın. Örnekleri de kopyalayabilirsiniz.
git clone https://github.com/Azure-Samples/azure-intelligent-edge-patterns.git
Modül oluşturma ve dağıtma
Visual Studio Code'da GpuReferenceModules klasörünü açın.
deployment.template.json açın ve kapsayıcı kayıt defteri için başvurarak parametreleri belirleyin. Aşağıdaki dosyada CONTAINER_REGISTRY_USERNAME, CONTAINER_REGISTRY_PASSWORD ve CONTAINER_REGISTRY_NAME kullanılır.
{ "$schema-template": "2.0.0", "modulesContent": { "$edgeAgent": { "properties.desired": { "schemaVersion": "1.0", "runtime": { "type": "docker", "settings": { "minDockerVersion": "v1.25", "loggingOptions": "", "registryCredentials": { "${CONTAINER_REGISTRY_NAME}":{ "username": "$CONTAINER_REGISTRY_USERNAME", "password": "$CONTAINER_REGISTRY_PASSWORD", "address": "${CONTAINER_REGISTRY_NAME}.azurecr.io" } } } },
Yeni bir dosya oluşturun. Kapsayıcı kayıt defteri parametrelerinizin değerlerini aşağıdaki gibi doldurun (önceki adımda tanımlanan değerleri kullanın):
CONTAINER_REGISTRY_NAME=<YourContainerRegistryName> CONTAINER_REGISTRY_USERNAME=<YourContainerRegistryUserName> CONTAINER_REGISTRY_PASSWORD=<YourContainerRegistryPassword>
Aşağıda örnek bir .env dosyası gösterilmiştir:
Dosyayı SampleSolution klasörüne .env olarak kaydedin.
Docker'da oturum açmak için Visual Studio Code tümleşik terminaline aşağıdaki komutu girin.
docker login -u <CONTAINER_REGISTRY_USERNAME> -p <CONTAINER_REGISTRY_PASSWORD> <CONTAINER_REGISTRY_NAME>
Azure portalında kapsayıcı kayıt defterinizin Erişim anahtarları bölümüne gidin. Kayıt defteri adını, parolayı ve oturum açma sunucusunu kopyalayın ve kullanın.
Kimlik bilgileri sağlandıktan sonra oturum açma başarılı olur.
Görüntünüzü Azure kapsayıcı kayıt defterinize gönderin. VS Code Gezgini'nde deployment.template.json dosyasını seçip sağ tıklayın ve ardından IoT Edge çözümü oluştur ve gönder'i seçin.
Python ve Python uzantısı yüklü değilse, çözümü derleyip gönderdiğinizde bunlar yüklenir. Ancak bu, daha uzun derleme sürelerine neden olur.
Bu adım tamamlandıktan sonra kapsayıcı kayıt defterinizde modülü görürsünüz.
Dağıtım bildirimi oluşturmak için deployment.template.json sağ tıklayın ve ardından IoT Edge Dağıtım Bildirimi Oluştur'u seçin.
Bildirim, dağıtım bildiriminin oluşturulduğu yolu size bildirir. Bildirim, yapılandırma klasöründe oluşturulan dosyadır
deployment.amd64.json
.Yapılandırma klasöründeki deployment.amd64.json dosyasını seçin ve ardından Tek Cihaz için Dağıtım Oluştur'u seçin. deployment.template.json dosyasını kullanmayın.
Çıktı penceresinde dağıtımın başarılı olduğunu belirten bir ileti görmeniz gerekir.
Modülü izleme
VS Code komut paletinde Azure IoT Hub: Select IoT Hub komutunu çalıştırın.
Yapılandırmak istediğiniz IoT Edge cihazını barındıran aboneliği ve IoT hub'ını seçin. Bu durumda, Azure Stack Edge Pro cihazını dağıtmak için kullanılan aboneliği seçin ve Azure Stack Edge Pro cihazınız için oluşturulan IoT Edge cihazını seçin. Önceki adımlarda Azure portalı aracılığıyla işlem yapılandırdığınızda bu durum oluşur.
VS Code gezgininde Azure IoT Hub bölümünü genişletin. Cihazlar'ın altında Azure Stack Edge Pro cihazınıza karşılık gelen IoT Edge cihazını görmeniz gerekir.
Bu cihazı seçin, sağ tıklayın ve Yerleşik Olay Uç Noktasını İzlemeyi Başlat'ı seçin.
Cihazlar > Modülleri'ne gittiğinizde GPU modülünüzün çalıştığını görmeniz gerekir.
VS Code terminali, Azure Stack Edge Pro cihazınızın izleme çıkışı olarak IoT Hub olaylarını da göstermelidir.
GPU tarafından aynı işlem kümesini (5000 şekil dönüştürme yinelemesi) yürütmek için geçen sürenin CPU'dan çok daha az olduğunu görebilirsiniz.
Sonraki Adımlar
- Gpu'ya modül kullanmak üzere yapılandırma hakkında daha fazla bilgi edinin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin