İçeriğe geç

YOLO26'yı Amazon SageMaker Uç Noktalarına Dağıtma Rehberi

Amazon SageMaker Uç Noktalarına Ultralytics'in YOLO26'sı gibi gelişmiş bilgisayar görüşü modellerini dağıtmak, çeşitli makine öğrenimi uygulamaları için geniş bir olasılık yelpazesi sunar. Bu modelleri etkili bir şekilde kullanmanın anahtarı, kurulumlarını, yapılandırmalarını ve dağıtım süreçlerini anlamaktan geçer. YOLO26, AWS tarafından sunulan sağlam ve ölçeklenebilir bir makine öğrenimi hizmeti olan Amazon SageMaker ile sorunsuz bir şekilde entegre edildiğinde daha da güçlü hale gelir.

Bu kılavuz, YOLO26 PyTorch modellerini Amazon SageMaker Endpoints üzerinde adım adım dağıtma sürecinde size yol gösterecektir. AWS ortamınızı hazırlamanın, modeli uygun şekilde yapılandırmanın ve dağıtım için AWS CloudFormation ve AWS Cloud Development Kit (CDK) gibi araçları kullanmanın temel adımlarını öğreneceksiniz.

Amazon SageMaker

Amazon SageMaker ML platform mimarisi

Amazon SageMaker, makine öğrenimi modelleri oluşturma, eğitme ve dağıtma sürecini basitleştiren Amazon Web Services'in (AWS) bir makine öğrenimi hizmetidir. Makine öğrenimi iş akışlarının çeşitli yönlerini ele almak için geniş bir araç yelpazesi sunar. Bu, modelleri ayarlamak için otomatikleştirilmiş özellikleri, modelleri ölçeklenebilir bir şekilde eğitme seçeneklerini ve modelleri üretime dağıtmak için basit yöntemleri içerir. SageMaker, çeşitli projeler için gereken esnekliği sunarak popüler makine öğrenimi çerçevelerini destekler. Özellikleri ayrıca veri etiketleme, iş akışı yönetimi ve performans analizini de kapsar.

YOLO26'yı Amazon SageMaker Uç Noktalarına Dağıtma

YOLO26'yı Amazon SageMaker üzerinde dağıtmak, gerçek zamanlı çıkarım için yönetilen ortamını kullanmanıza ve otomatik ölçeklendirme gibi özelliklerden yararlanmanıza olanak tanır. Aşağıdaki AWS mimarisine göz atın.

AWS SageMaker YOLO mimarisi

Adım 1: AWS Ortamınızı Kurun

İlk olarak, aşağıdaki ön koşulların yerine getirildiğinden emin olun:

  • Bir AWS Hesabı: Henüz bir hesabınız yoksa, bir AWS hesabına kaydolun.

  • Yapılandırılmış IAM Rolleri: Amazon SageMaker, AWS CloudFormation ve Amazon S3 için gerekli izinlere sahip bir IAM rolüne ihtiyacınız olacak. Bu rol, bu hizmetlere erişmesine izin veren politikalara sahip olmalıdır.

  • AWS CLI: Henüz kurulmadıysa, AWS Command Line Interface'i (CLI) indirip kurun ve hesap bilgilerinizle yapılandırın. Kurulum için AWS CLI talimatlarını izleyin.

  • AWS CDK: Henüz kurulmadıysa, dağıtımı betiklemek için kullanılacak olan AWS Cloud Development Kit'i (CDK) kurun. Kurulum için AWS CDK talimatlarını izleyin.

  • Yeterli Hizmet Kotası: Amazon SageMaker'da iki ayrı kaynak için yeterli kotanız olduğunu doğrulayın: biri ml.m5.4xlarge uç nokta kullanımı için ve diğeri de ml.m5.4xlarge notebook örneği kullanımı için. Bunların her biri minimum bir kota değeri gerektirir. Mevcut kotalarınız bu gereksinimin altındaysa, her biri için bir artış talep etmek önemlidir. Kota artışı talebinde bulunmak için içindeki ayrıntılı talimatları izleyebilirsiniz. AWS Hizmet Kotaları dokümantasyonu.

Adım 2: YOLO26 SageMaker Deposunu Klonlayın

Bir sonraki adım, YOLO26'yı SageMaker üzerinde dağıtmak için kaynakları içeren belirli AWS deposunu klonlamaktır. GitHub'da barındırılan bu depo, gerekli CDK betiklerini ve yapılandırma dosyalarını içerir.

  • GitHub Deposunu Klonlayın: host-yolov8-on-sagemaker-endpoint deposunu klonlamak için terminalinizde aşağıdaki komutu yürütün:

    git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
    
  • Klonlanan Dizine Gitme: Dizinizi klonlanmış depoya değiştirin:

    cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
    

Adım 3: CDK Ortamını Kurun

Gerekli koda sahip olduğunuza göre, AWS CDK ile dağıtım için ortamınızı ayarlayın.

  • Bir Python Sanal Ortamı Oluşturun: Bu, Python ortamınızı ve bağımlılıklarınızı izole eder. Şunu çalıştırın:

    python3 -m venv .venv
    
  • Sanal Ortamı Etkinleştirin:

    source .venv/bin/activate
    
  • Bağımlılıkları Yükle: Proje için gerekli Python bağımlılıklarını yükleyin:

    pip3 install -r requirements.txt
    
  • AWS CDK Kütüphanesini Yükseltin: AWS CDK kütüphanesinin en son sürümüne sahip olduğunuzdan emin olun:

    pip install --upgrade aws-cdk-lib
    

Adım 4: AWS CloudFormation Yığınını Oluşturun

  • CDK Uygulamasını Sentezleyin: CDK kodunuzdan AWS CloudFormation şablonunu oluşturun:

    cdk synth
    
  • CDK Uygulamasını Başlatma: AWS ortamınızı CDK dağıtımına hazırlayın:

    cdk bootstrap
    
  • Yığını Dağıtın: Bu, gerekli AWS kaynaklarını oluşturacak ve modelinizi dağıtacaktır:

    cdk deploy
    

Adım 5: YOLO Modelini Dağıtma

Dağıtım talimatlarına geçmeden önce, Ultralytics tarafından sunulan YOLO26 modelleri yelpazesini incelediğinizden emin olun. Bu, proje gereksinimleriniz için en uygun modeli seçmenize yardımcı olacaktır.

AWS CloudFormation Yığını oluşturulduktan sonra, bir sonraki adım YOLO26'yı dağıtmaktır.

  • Not Defteri Örneğini Açın: AWS Konsolu'na gidin ve Amazon SageMaker hizmetine gidin. Kontrol panelinden "Not Defteri Örnekleri"ni seçin, ardından CDK dağıtım komut dosyanız tarafından oluşturulan not defteri örneğini bulun. Jupyter ortamına erişmek için not defteri örneğini açın.

  • inference.py'ye Erişin ve Değiştirin: SageMaker not defteri örneğini Jupyter'de açtıktan sonra, inference.py dosyasını bulun. Aşağıda gösterildiği gibi inference.py içindeki output_fn fonksiyonunu düzenleyin ve sözdizimi hatası olmadığından emin olarak komut dosyasındaki değişikliklerinizi kaydedin.

    import json
    
    
    def output_fn(prediction_output):
        """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints."""
        print("Executing output_fn from inference.py ...")
        infer = {}
        for result in prediction_output:
            if result.boxes is not None:
                infer["boxes"] = result.boxes.numpy().data.tolist()
            if result.masks is not None:
                infer["masks"] = result.masks.numpy().data.tolist()
            if result.keypoints is not None:
                infer["keypoints"] = result.keypoints.numpy().data.tolist()
            if result.obb is not None:
                infer["obb"] = result.obb.numpy().data.tolist()
            if result.probs is not None:
                infer["probs"] = result.probs.numpy().data.tolist()
        return json.dumps(infer)
    
  • Uç Noktayı 1_DeployEndpoint.ipynb Kullanarak Dağıtın: Jupyter ortamında, sm-notebook dizininde bulunan 1_DeployEndpoint.ipynb not defterini açın. Not defterindeki talimatları izleyin ve YOLO26 modelini indirmek, güncellenmiş çıkarım koduyla paketlemek ve bir Amazon S3 kovasına yüklemek için hücreleri çalıştırın. Not defteri, YOLO26 modeli için bir SageMaker uç noktası oluşturma ve dağıtma konusunda size rehberlik edecektir.

Adım 6: Dağıtımınızı Test Etme

YOLO26 modeliniz dağıtıldığına göre, performansını ve işlevselliğini test etmek önemlidir.

  • Test Not Defterini Açın: Aynı Jupyter ortamında, sm-notebook dizininde bulunan 2_TestEndpoint.ipynb not defterini bulun ve açın.

  • Test Not Defterini Çalıştırın: Dağıtılan SageMaker uç noktasını test etmek için not defterindeki talimatları izleyin. Bu, uç noktaya bir görüntü göndermeyi ve çıkarımlar çalıştırmayı içerir. Ardından, modelin performansını ve doğruluğunu görselleştirmek için çıktıyı aşağıdaki gibi çizeceksiniz.

YOLO26 Test Sonuçları

  • Kaynakları Temizleme: Test not defteri ayrıca uç noktanın ve barındırılan modelin temizlenmesi sürecinde size rehberlik edecektir. Bu, özellikle dağıtılan modeli hemen kullanmayı planlamıyorsanız, maliyetleri ve kaynakları etkili bir şekilde yönetmek için önemli bir adımdır.

Adım 7: İzleme ve Yönetim

Test ettikten sonra, dağıtılan modelinizin sürekli olarak izlenmesi ve yönetimi önemlidir.

  • Amazon CloudWatch ile izleme: Amazon CloudWatch kullanarak SageMaker uç noktanızın performansını ve sağlığını düzenli olarak kontrol edin.

  • Uç Noktayı Yönetme: Uç noktanın sürekli yönetimi için SageMaker konsolunu kullanın. Bu, gerektiğinde modeli ölçeklendirme, güncelleme veya yeniden dağıtmayı içerir.

Bu adımları tamamlayarak, Amazon SageMaker Endpoints üzerinde bir YOLO26 modelini başarıyla dağıtmış ve test etmiş olacaksınız. Bu süreç, size makine öğrenimi dağıtımı için AWS hizmetlerini kullanma konusunda pratik deneyim kazandırmakla kalmaz, aynı zamanda gelecekte diğer gelişmiş modelleri dağıtmak için de bir temel oluşturur.

Özet

Bu kılavuz, AWS CloudFormation ve AWS Cloud Development Kit (CDK) kullanarak YOLO26'yı Amazon SageMaker Endpoints üzerinde adım adım dağıtma sürecinde size yol gösterdi. Süreç, gerekli GitHub deposunu klonlamayı, CDK ortamını kurmayı, AWS hizmetlerini kullanarak modeli dağıtmayı ve SageMaker üzerinde performansını test etmeyi içerir.

Daha teknik ayrıntılar için AWS Machine Learning Blog'daki bu makaleye bakın. Ayrıca, çeşitli özellikler ve işlevler hakkında daha fazla bilgi edinmek için resmi Amazon SageMaker Belgelerine de göz atabilirsiniz.

Farklı YOLO26 entegrasyonları hakkında daha fazla bilgi edinmek ister misiniz? Makine öğrenimi projelerinizi geliştirebilecek ek araçları ve yetenekleri keşfetmek için Ultralytics entegrasyonları kılavuz sayfasını ziyaret edin.

SSS

Ultralytics YOLO26 modelini Amazon SageMaker Uç Noktalarına nasıl dağıtırım?

Ultralytics YOLO26 modelini Amazon SageMaker Endpoints üzerinde dağıtmak için şu adımları izleyin:

  1. AWS Ortamınızı Kurun: Bir AWS Hesabınızın, gerekli izinlere sahip IAM rollerinizin ve yapılandırılmış AWS CLI'nızın olduğundan emin olun. Henüz yapılmadıysa AWS CDK'yı kurun (AWS CDK talimatlarına bakın).
  2. YOLO26 SageMaker Deposunu Klonlayın:
    git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
    cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
    
  3. CDK Ortamını Kurulumu: Bir Python sanal ortamı oluşturun, etkinleştirin, bağımlılıkları yükleyin ve AWS CDK kitaplığını yükseltin.
    python3 -m venv .venv
    source .venv/bin/activate
    pip3 install -r requirements.txt
    pip install --upgrade aws-cdk-lib
    
  4. AWS CDK kullanarak dağıt: CloudFormation yığınını sentezleyin ve dağıtın, ortamı bootstrap edin.
    cdk synth
    cdk bootstrap
    cdk deploy
    

Daha fazla ayrıntı için belgelendirme bölümünü inceleyin.

YOLO26'yı Amazon SageMaker'a dağıtmak için önkoşullar nelerdir?

YOLO26'yı Amazon SageMaker üzerinde dağıtmak için aşağıdaki ön koşullara sahip olduğunuzdan emin olun:

  1. AWS Hesabı: Aktif AWS hesabı (buraya kaydolun).
  2. IAM Rolleri: SageMaker, CloudFormation ve Amazon S3 için izinlere sahip yapılandırılmış IAM rolleri.
  3. AWS CLI: Yüklenmiş ve yapılandırılmış AWS Komut Satırı Arayüzü (AWS CLI kurulum kılavuzu).
  4. AWS CDK: Yüklenmiş AWS Bulut Geliştirme Kiti (CDK kurulum kılavuzu).
  5. Hizmet Kotaları: İçin yeterli kotalar ml.m5.4xlarge hem uç nokta hem de not defteri kullanımı için örnekler (kota artışı talep et).

Ayrıntılı kurulum için bu bölüme bakın.

Ultralytics YOLO26'yı Amazon SageMaker üzerinde neden kullanmalıyım?

Ultralytics YOLO26'yı Amazon SageMaker üzerinde kullanmak çeşitli avantajlar sunar:

  1. Ölçeklenebilirlik ve Yönetim: SageMaker, gerçek zamanlı çıkarım ihtiyaçlarında yardımcı olan otomatik ölçeklendirme gibi özelliklere sahip yönetilen bir ortam sağlar.
  2. AWS Hizmetleri ile Entegrasyon: Veri depolama için S3, altyapı olarak kod için CloudFormation ve izleme için CloudWatch gibi diğer AWS hizmetleriyle sorunsuz bir şekilde entegre olur.
  3. Dağıtım Kolaylığı: AWS CDK komut dosyaları kullanılarak basitleştirilmiş kurulum ve kolaylaştırılmış dağıtım süreçleri.
  4. Performans: Büyük ölçekli çıkarım görevlerini verimli bir şekilde çalıştırmak için Amazon SageMaker'ın yüksek performanslı altyapısından yararlanın.

Giriş bölümünde SageMaker kullanmanın avantajları hakkında daha fazla bilgi edinin.

Amazon SageMaker üzerinde YOLO26 için çıkarım mantığını özelleştirebilir miyim?

Evet, Amazon SageMaker üzerinde YOLO26 için çıkarım mantığını özelleştirebilirsiniz:

  1. Değiştir inference.py: Şunu bulun ve özelleştirin: output_fn fonksiyonu içinde inference.py çıktı formatlarını uyarlamak için dosya.

    import json
    
    
    def output_fn(prediction_output):
        """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints."""
        infer = {}
        for result in prediction_output:
            if result.boxes is not None:
                infer["boxes"] = result.boxes.numpy().data.tolist()
            # Add more processing logic if necessary
        return json.dumps(infer)
    
  2. Güncellenmiş Modeli Dağıt: Sağlanan Jupyter not defterlerini kullanarak modeli yeniden dağıttığınızdan emin olun (1_DeployEndpoint.ipynb), bu değişiklikleri dahil etmek için.

Değiştirilmiş modeli dağıtmak için ayrıntılı adımlara bakın.

Dağıtılan YOLO26 modelini Amazon SageMaker üzerinde nasıl test edebilirim?

Dağıtılan YOLO26 modelini Amazon SageMaker üzerinde test etmek için:

  1. Test Not Defterini Aç: Şunu bulun: 2_TestEndpoint.ipynb SageMaker Jupyter ortamındaki not defteri.
  2. Not Defterini Çalıştır: Bir görüntüyü uç noktaya göndermek, çıkarım gerçekleştirmek ve sonuçları görüntülemek için not defterinin talimatlarını izleyin.
  3. Sonuçları Görselleştirin: Algılanan nesnelerin etrafındaki sınırlayıcı kutular gibi performans metriklerini görselleştirmek için yerleşik çizim işlevlerini kullanın.

Kapsamlı test talimatları için test bölümünü ziyaret edin.



📅 2 yıl önce oluşturuldu ✏️ 5 gün önce güncellendi
glenn-jocherLaughing-qUltralyticsAssistantRizwanMunawarambitious-octopussergiuwaxmannabirami-vina

Yorumlar