Link to this sectionAmazon SageMaker Uç Noktalarında YOLO26 Dağıtımı için Bir Kılavuz#
Deploying advanced computer vision models like Ultralytics' YOLO26 on Amazon SageMaker Endpoints opens up a wide range of possibilities for various machine learning applications. The key to effectively using these models lies in understanding their setup, configuration, and deployment processes. YOLO26 becomes even more powerful when integrated seamlessly with Amazon SageMaker, a robust and scalable machine learning service by AWS.
Bu kılavuz, YOLO26 PyTorch modellerini Amazon SageMaker Uç Noktalarında adım adım nasıl dağıtacağın konusunda sana yol gösterecektir. AWS ortamını 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 temellerini öğreneceksin.
Link to this sectionAmazon SageMaker#
Amazon SageMaker, makine öğrenimi modelleri oluşturma, eğitme ve dağıtma sürecini basitleştiren bir Amazon Web Services (AWS) 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 otomatik özellikler, modelleri ölçekli bir şekilde eğitmek için seçenekler ve modelleri üretime dağıtmak için basit yöntemler içerir. SageMaker, popüler makine öğrenimi çerçevelerini destekleyerek çeşitli projeler için gereken esnekliği sunar. Özellikleri ayrıca veri etiketleme, iş akışı yönetimi ve performans analizini de kapsar.
Link to this sectionYOLO26'yı Amazon SageMaker Uç Noktalarında Dağıtma#
YOLO26'yı Amazon SageMaker'da dağıtmak, gerçek zamanlı çıkarım için yönetilen ortamını kullanmanı ve otomatik ölçeklendirme gibi özelliklerden yararlanmanı sağlar. Aşağıdaki AWS mimarisine bir göz at.
Link to this sectionAdım: AWS Ortamını Kur#
Öncelikle, aşağıdaki önkoşullara sahip olduğundan emin ol:
-
Bir AWS Hesabı: Eğer halihazırda bir hesabın yoksa, bir AWS hesabı için kaydol.
-
Yapılandırılmış IAM Rolleri: Amazon SageMaker, AWS CloudFormation ve Amazon S3 için gerekli izinlere sahip bir IAM rolüne ihtiyacın olacak. Bu rolün, bu hizmetlere erişmesine izin veren politikalara sahip olması gerekir.
-
AWS CLI: Eğer henüz yüklü değilse, AWS Komut Satırı Arayüzünü (CLI) indir, yükle ve hesap bilgilerinle yapılandır. Kurulum için AWS CLI talimatlarını izle.
-
AWS CDK: Eğer henüz yüklü değilse, dağıtımı betiklemek için kullanılacak olan AWS Cloud Development Kit'i (CDK) yükle. Kurulum için AWS CDK talimatlarını izle.
-
Yeterli Hizmet Kotası: Amazon SageMaker'da iki ayrı kaynak için yeterli kotalara sahip olduğunu onayla: biri uç nokta kullanımı için
ml.m5.4xlargeve diğeri not defteri örneği kullanımı içinml.m5.4xlarge. Bunların her biri en az bir kota değeri gerektirir. Mevcut kotaların bu gereksinimin altındaysa, her biri için bir artış talebinde bulunman önemlidir. AWS Hizmet Kotaları belgelerindeki ayrıntılı talimatları izleyerek kota artışı talebinde bulunabilirsin.
Link to this sectionAdım: YOLO26 SageMaker Deposunu Klonla#
Bir sonraki adım, YOLO26'yı SageMaker üzerinde dağıtmak için gereken 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 Klonla: host-yolov8-on-sagemaker-endpoint deposunu klonlamak için terminalinde aşağıdaki komutu çalıştır:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git -
Klonlanan Dizinine Git: Dizinini klonlanan depoya değiştir:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
Link to this sectionAdım: CDK Ortamını Kur#
Artık gerekli koda sahip olduğuna göre, AWS CDK ile dağıtım yapmak için ortamını kur.
-
Python Sanal Ortamı Oluştur: Bu, Python ortamını ve bağımlılıklarını izole eder. Şunu çalıştır:
python3 -m venv .venv -
Sanal Ortamı Etkinleştir:
source .venv/bin/activate -
Bağımlılıkları Yükle: Proje için gerekli Python bağımlılıklarını yükle:
pip3 install -r requirements.txt -
AWS CDK Kitaplığını Yükselt: AWS CDK kitaplığının en son sürümüne sahip olduğundan emin ol:
pip install --upgrade aws-cdk-lib
Link to this sectionAdım: AWS CloudFormation Yığınını Oluştur#
-
CDK Uygulamasını Sentezle: CDK kodundan AWS CloudFormation şablonunu oluştur:
cdk synth -
CDK Uygulamasını Önyükle: AWS ortamını CDK dağıtımı için hazırla:
cdk bootstrap -
Yığını Dağıt: Bu, gerekli AWS kaynaklarını oluşturacak ve modelini dağıtacaktır:
cdk deploy
Link to this sectionAdım: YOLO Modelini Dağıt#
Before diving into the deployment instructions, be sure to check out the range of YOLO26 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.
AWS CloudFormation Yığınını oluşturduktan sonra, bir sonraki adım YOLO26'yı dağıtmaktır.
-
Not Defteri Örneğini Aç: AWS Konsoluna git ve Amazon SageMaker hizmetine git. Panodan "Notebook Instances" (Not Defteri Örnekleri) seçeneğini seç, ardından CDK dağıtım betiğin tarafından oluşturulan not defteri örneğini bul. Jupyter ortamına erişmek için not defteri örneğini aç.
-
inference.py Dosyasına Eriş ve Değiştir: SageMaker not defteri örneğini Jupyter'da açtıktan sonra, inference.py dosyasını bul. inference.py içindeki output_fn işlevini aşağıda gösterildiği gibi düzenle ve betikte sözdizimi hatası olmadığından emin olarak değişikliklerini kaydet.
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) -
1_DeployEndpoint.ipynb Kullanarak Uç Noktayı Dağıt: Jupyter ortamında, sm-notebook dizininde bulunan 1_DeployEndpoint.ipynb not defterini aç. Not defterindeki talimatları izle 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. Not defteri, YOLO26 modeli için bir SageMaker uç noktası oluşturma ve dağıtma konusunda sana rehberlik edecektir.
Link to this sectionAdım: Dağıtımını Test Et#
Artık YOLO26 modelin dağıtıldığına göre, performansını ve işlevselliğini test etmen önemlidir.
-
Test Not Defterini Aç: Aynı Jupyter ortamında, yine sm-notebook dizininde bulunan 2_TestEndpoint.ipynb not defterini bul ve aç.
-
Test Not Defterini Çalıştır: Dağıtılan SageMaker uç noktasını test etmek için not defterindeki talimatları izle. Bu, uç noktaya bir görüntü göndermeyi ve çıkarımları çalıştırmayı içerir. Ardından, aşağıda gösterildiği gibi modelin performansını ve doğruluğunu görselleştirmek için çıktıyı çizeceksin.
- Kaynakları Temizle: Test not defteri ayrıca uç noktayı ve barındırılan modeli temizleme sürecinde sana rehberlik edecektir. Bu, özellikle dağıtılan modeli hemen kullanmayı planlamıyorsan, maliyetleri ve kaynakları etkili bir şekilde yönetmek için önemli bir adımdır.
Link to this sectionAdım: İzleme ve Yönetim#
Testten sonra, dağıtılan modelinin sürekli izlenmesi ve yönetimi esastır.
-
Amazon CloudWatch ile İzle: Amazon CloudWatch kullanarak SageMaker uç noktanın performansını ve sağlığını düzenli olarak kontrol et.
-
Uç Noktayı Yönet: Uç noktanın sürekli yönetimi için SageMaker konsolunu kullan. Bu, gerektiğinde modeli ölçeklendirmeyi, güncellemeyi veya yeniden dağıtmayı içerir.
Bu adımları tamamlayarak, Amazon SageMaker Uç Noktalarında bir YOLO26 modelini başarıyla dağıtmış ve test etmiş olacaksın. Bu süreç, sadece 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ğıtmanın temelini de atar.
Link to this sectionÖzet#
Bu kılavuz, AWS CloudFormation ve AWS Cloud Development Kit (CDK) kullanarak Amazon SageMaker Uç Noktalarında YOLO26 dağıtımı konusunda sana adım adım yol gösterdi. Süreç, gerekli GitHub deposunu klonlamayı, CDK ortamını kurmayı, AWS hizmetlerini kullanarak modeli dağıtmayı ve performansını SageMaker üzerinde test etmeyi içerir.
Daha fazla teknik ayrıntı için, AWS Makine Öğrenimi Blogundaki bu makaleye başvur. Ayrıca, çeşitli özellikler ve işlevler hakkında daha fazla bilgi için resmi Amazon SageMaker Belgelerine göz atabilirsin.
Farklı YOLO26 entegrasyonları hakkında daha fazla bilgi edinmek ister misin? Makine öğrenimi projelerini geliştirebilecek ek araçları ve yetenekleri keşfetmek için Ultralytics entegrasyon kılavuzu sayfasını ziyaret et.
Link to this sectionSSS#
Link to this sectionUltralytics YOLO26 modelini Amazon SageMaker Uç Noktalarında nasıl dağıtırım?#
Ultralytics YOLO26 modelini Amazon SageMaker Uç Noktalarında dağıtmak için şu adımları izle:
- AWS Ortamını Kur: Bir AWS Hesabına, gerekli izinlere sahip IAM rollerine ve yapılandırılmış AWS CLI'ya sahip olduğundan emin ol. Henüz yapmadıysan AWS CDK'yı yükle (AWS CDK talimatlarına bak).
- YOLO26 SageMaker Deposunu Klonla:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk - CDK Ortamını Kur: Bir Python sanal ortamı oluştur, etkinleştir, bağımlılıkları yükle ve AWS CDK kitaplığını yükselt.
python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt pip install --upgrade aws-cdk-lib - AWS CDK kullanarak Dağıt: CloudFormation yığınını sentezle ve dağıt, ortamı önyükle.
cdk synth cdk bootstrap cdk deploy
Daha fazla ayrıntı için belgeler bölümünü incele.
Link to this sectionYOLO26'yı Amazon SageMaker'da dağıtmak için önkoşullar nelerdir?#
YOLO26'yı Amazon SageMaker'da dağıtmak için aşağıdaki önkoşullara sahip olduğundan emin ol:
- AWS Hesabı: Aktif AWS hesabı (buradan kaydol).
- IAM Rolleri: SageMaker, CloudFormation ve Amazon S3 izinlerine sahip yapılandırılmış IAM rolleri.
- AWS CLI: Yüklü ve yapılandırılmış AWS Komut Satırı Arayüzü (AWS CLI kurulum kılavuzu).
- AWS CDK: Yüklü AWS Cloud Development Kit (CDK kurulum kılavuzu).
- Hizmet Kotaları: Hem uç nokta hem de not defteri kullanımı için yeterli
ml.m5.4xlargeörnek kotası (kota artışı talep et).
Ayrıntılı kurulum için bu bölüme başvur.
Link to this sectionNeden Amazon SageMaker üzerinde Ultralytics YOLO26 kullanmalıyım?#
Amazon SageMaker üzerinde Ultralytics YOLO26 kullanmak çeşitli avantajlar sunar:
- Ö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.
- AWS Hizmetleri ile Entegrasyon: Veri depolama için S3, kod olarak altyapı için CloudFormation ve izleme için CloudWatch gibi diğer AWS hizmetleriyle sorunsuz bir şekilde entegre ol.
- Dağıtım Kolaylığı: AWS CDK betikleri kullanılarak basitleştirilmiş kurulum ve kolaylaştırılmış dağıtım süreçleri.
- 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.
SageMaker kullanmanın avantajları hakkında daha fazla bilgiyi giriş bölümünde keşfet.
Link to this sectionAmazon SageMaker üzerinde YOLO26 için çıkarım mantığını özelleştirebilir miyim?#
Evet, Amazon SageMaker üzerinde YOLO26 için çıkarım mantığını özelleştirebilirsin:
-
Modify
inference.py: Locate and customize theoutput_fnfunction in theinference.pyfile to tailor output formats.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) -
Güncellenmiş Modeli Dağıt: Bu değişiklikleri dahil etmek için sağlanan Jupyter not defterlerini (
1_DeployEndpoint.ipynb) kullanarak modeli yeniden dağıttığından emin ol.
Değiştirilmiş modeli dağıtmak için ayrıntılı adımlara başvur.
Link to this sectionDağıtılan YOLO26 modelini Amazon SageMaker üzerinde nasıl test edebilirim?#
Dağıtılan YOLO26 modelini Amazon SageMaker üzerinde test etmek için:
- Test Not Defterini Aç: SageMaker Jupyter ortamındaki
2_TestEndpoint.ipynbnot defterini bul. - Not Defterini Çalıştır: Uç noktaya bir görüntü göndermek, çıkarım yapmak ve sonuçları görüntülemek için not defterinin talimatlarını izle.
- Sonuçları Görselleştir: Algılanan nesnelerin etrafındaki sınırlayıcı kutular gibi performans metriklerini görselleştirmek için yerleşik çizim işlevlerini kullan.
Kapsamlı test talimatları için test bölümünü ziyaret et.