Üretken Veri Zekası

Amazon SageMaker Studio Yerel Modu ve Docker desteğiyle makine öğrenimi iş akışlarını hızlandırın | Amazon Web Hizmetleri

Tarih:

İki yeni yeteneği duyurmaktan heyecan duyuyoruz Amazon SageMaker Stüdyosu makine öğrenimi (ML) uygulayıcıları için yinelemeli geliştirmeyi hızlandıracak: Yerel Mod ve Docker desteği. ML modeli geliştirme, geliştiricilerin kodlama, eğitim ve dağıtım arasında geçiş yapması nedeniyle genellikle yavaş yineleme döngüleri içerir. Her adım, uzak bilgi işlem kaynaklarının başlatılmasını beklemeyi gerektirir; bu da uygulamaların doğrulanmasını ve değişikliklerle ilgili geri bildirim alınmasını geciktirir.

Yerel Mod ile geliştiriciler artık uzaktan bilgi işlem kaynaklarını çalıştırmaya gerek kalmadan doğrudan SageMaker Studio dizüstü bilgisayar örneklerinde modelleri eğitebilir ve test edebilir, kodlarda hata ayıklayabilir ve uçtan uca işlem hatlarını doğrulayabilir. Bu, yineleme döngüsünü dakikalardan saniyelere indirerek geliştirici üretkenliğini artırır. SageMaker Studio dizüstü bilgisayarlarındaki Docker desteği, geliştiricilerin zahmetsizce Docker konteynerleri oluşturmasına ve önceden oluşturulmuş konteynerlere erişmesine olanak tanıyarak ekip genelinde tutarlı bir geliştirme ortamı sağlar ve zaman alıcı kurulum ve bağımlılık yönetiminden kaçınır.

Yerel Mod ve Docker desteği, SageMaker Studio dizüstü bilgisayarda çalışan yerel kapsayıcıları kullanarak kod değişikliklerini doğrulamak ve modellerin prototipini oluşturmak için kolaylaştırılmış bir iş akışı sunar

misal. Bu yazıda, SageMaker Studio'da Yerel Modu kurma, örnek bir eğitim işi çalıştırma ve modeli bir platformda dağıtma konusunda size rehberlik edeceğiz. Amazon Adaçayı Yapıcı SageMaker Studio not defterinden uç nokta.

SageMaker Studio Yerel Modu

SageMaker Studio, SageMaker eğitimini, çıkarımını, toplu dönüşümü ve işleme işlerini doğrudan JupyterLab, Code Editor veya SageMaker Studio Classic dizüstü bilgisayar örneklerinizde, uzaktan bilgi işlem kaynakları gerektirmeden çalıştırmanıza olanak tanıyan Yerel Modu sunar. Yerel Modu kullanmanın faydaları şunlardır:

  • İş akışlarının doğrudan entegre geliştirme ortamlarında (IDE'ler) anında doğrulanması ve test edilmesi
  • Çıktıları incelemek ve sorunları erken tespit etmek amacıyla daha küçük ölçekli işlerde yerel çalıştırmalar aracılığıyla daha hızlı yineleme
  • Uzaktan eğitim işleri için beklemeyi ortadan kaldırarak geliştirilmiş geliştirme ve hata ayıklama verimliliği
  • Bulutta tüm işleri çalıştırmadan önce kod değişiklikleriyle ilgili anında geri bildirim

Aşağıdaki şekil SageMaker'da Yerel Modu kullanan iş akışını göstermektedir.

SageMaker'da Yerel Modu kullanan iş akışı

Yerel Modu kullanmak için instance_type='local' eğitim ve çıkarım gibi SageMaker Python SDK işlerini çalıştırırken. Bu, onları bulut kaynaklarını sağlamak yerine SageMaker Studio IDE'leriniz tarafından kullanılan örneklerde çalıştıracaktır.

Dağıtılmış eğitim gibi belirli özellikler yalnızca bulutta mevcut olsa da Yerel Mod, hızlı yinelemeler için bağlamları değiştirme ihtiyacını ortadan kaldırır. SageMaker'ın tüm gücünden ve ölçeğinden yararlanmaya hazır olduğunuzda iş akışınızı bulutta sorunsuz bir şekilde çalıştırabilirsiniz.

SageMaker Studio'da Docker desteği

SageMaker Studio artık SageMaker Studio dizüstü örneğinizde Docker konteynerlerinin yerel olarak oluşturulmasına ve çalıştırılmasına da olanak sağlıyor. Bu yeni özellik, Docker görüntülerini SageMaker eğitimi ve çıkarımı için kullanmadan önce SageMaker Studio'da oluşturmanıza ve doğrulamanıza olanak tanır.

Aşağıdaki şemada SageMaker Studio içindeki üst düzey Docker orkestrasyon mimarisi gösterilmektedir.

SageMaker Studio'da üst düzey Docker düzenleme mimarisi

SageMaker Studio'daki Docker desteğiyle şunları yapabilirsiniz:

  • Doğrudan SageMaker Studio'da entegre modeller ve bağımlılıklar içeren Docker konteynerleri oluşturun
  • Görüntü oluşturmayı basitleştirmek için harici Docker derleme süreçlerine olan ihtiyacı ortadan kaldırın
  • Modelleri üretime dağıtmadan önce işlevselliği doğrulamak için kapsayıcıları yerel olarak çalıştırın
  • Eğitim ve barındırma için SageMaker'a dağıtım yaparken yerel konteynerleri yeniden kullanın

Her ne kadar çoklu kapsayıcı ve özel ağlar gibi bazı gelişmiş Docker yetenekleri bu yazının yazıldığı an itibariyle desteklenmiyor olsa da, kendi kapsayıcınızı (BYOC) iş akışlarınıza getirmek için kapsayıcılar geliştirmeyi hızlandırmak amacıyla temel oluşturma ve çalıştırma işlevi mevcuttur.

Önkoşullar

SageMaker Studio uygulamalarında Yerel Modu kullanmak için aşağıdaki ön koşulları tamamlamanız gerekir:

  • Görüntüleri çekmek için Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR), ECR görüntüsünü barındıran hesap, kullanıcının Kimlik ve Erişim Yönetimi (IAM) rolü. Etki alanının rolü aynı zamanda Amazon ECR erişimine de izin vermelidir.
  • Yerel Mod ve Docker yeteneklerini etkinleştirmek için EnableDockerAccess etki alanı için parametreyi true olarak ayarlayın DockerSettings ile AWS Komut Satırı Arayüzü (AWS CLI). Bu, etki alanındaki kullanıcıların Yerel Modu ve Docker özelliklerini kullanmasına olanak tanır. Varsayılan olarak, SageMaker Studio'da Yerel Mod ve Docker devre dışıdır. Docker hizmeti güncellemesinin etkili olması için mevcut SageMaker Studio uygulamalarının yeniden başlatılması gerekecektir. Aşağıda SageMaker Studio etki alanını güncellemeye yönelik örnek bir AWS CLI komutu verilmiştir:
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın

SageMaker Studio JupyterLab ve Kod Düzenleyici (tabanlı) Code-OSS, Visual Studio Code – Açık Kaynak), popüler hafif IDE'yi kullanarak analizlerinizi ve makine öğrenimi kodunuzu yazabilmeniz, test edebilmeniz, hata ayıklayabilmeniz ve çalıştırabilmeniz için SageMaker Studio'yu genişletir. SageMaker Studio IDE'lerini kullanmaya nasıl başlayacağınıza ilişkin daha fazla ayrıntı için bkz. Amazon SageMaker Studio'da verimliliği artırın: JupyterLab Spaces ve üretken yapay zeka araçlarıyla tanışın ve Yeni – Code-OSS VS Code Açık Kaynak tabanlı Kod Düzenleyici artık Amazon SageMaker Studio'da mevcut. Aşağıdaki adımları tamamlayın:

Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın

  • Yeni bir terminal oluşturun.  Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın
  • Aşağıdaki talimatları izleyerek Docker CLI ve Docker Compose eklentisini yükleyin. GitHub repo. Zincirleme komutlar başarısız olursa komutları birer birer çalıştırın.

Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın SageMaker SDK'yı en son sürüme güncellemelisiniz.

  • koşmak pip install sagemaker -Uq terminalde.

Yalnızca Code Editor için Python ortamını geçerli terminalde çalışacak şekilde ayarlamanız gerekir.

  • Kod Düzenleyicide, Dosya menüsüSeç Tercihler ve Ayarlar.

Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın

  • Ara ve seç Terminal: Dosya Dizininde Yürüt.

Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın

  • Code Editor veya JupyterLab'da şunu açın: scikit_learn_script_mode_local_training_and_serving klasörünü çalıştırın ve scikit_learn_script_mode_local_training_and_serving.py dosyası.

Komut dosyasını seçerek çalıştırabilirsiniz. koşmak Kod Düzenleyicide veya bir JupyterLab terminalinde CLI'yi kullanarak. Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın Modelin yerel olarak nasıl eğitildiğini görebileceksiniz. Daha sonra modeli yerel olarak bir SageMaker uç noktasına dağıtırsınız ve ortalama karekök hatasını (RMSE). Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın Yerel Modu kullanarak Python dosyalarını SageMaker Studio alanlarında çalıştırın

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

Küçük ölçekli bir eğitim işini yürütmek için SageMaker Studio Classic'teki bir not defterini de kullanabilirsiniz. CIFAR10 Yerel Modu kullanarak modeli yerel olarak dağıtın ve çıkarımı gerçekleştirin.

not defterinizi kurun

Dizüstü bilgisayarı kurmak için aşağıdaki adımları tamamlayın:

  • SageMaker Studio Classic'i açın ve aşağıdakileri kopyalayın GitHub repo.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Açın pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • İçin Resim, seçmek PyTorch 2.1.0 Python 3.10 CPU Optimized.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin Dizüstü bilgisayarınızın doğru örneği ve çekirdek seçimini gösterdiğini doğrulayın. Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Seçerek bir terminal açın Terminali Başlat geçerli SageMaker görüntüsünde.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Aşağıdaki talimatları izleyerek Docker CLI ve Docker Compose eklentisini yükleyin. GitHub repo.

SageMaker Studio Classic'ten Docker kullandığınız için, terminal zaten süper kullanıcı altında çalıştığından komutları çalıştırırken sudo'yu kaldırın. SageMaker Studio Classic için kurulum komutları, SageMaker Studio uygulama görüntüsü işletim sistemine bağlıdır. Örneğin, DLC tabanlı çerçeve görüntüleri Ubuntu tabanlıdır ve aşağıdaki talimatlar burada işe yarayacaktır. Ancak DataScience Images gibi Debian tabanlı bir imaj için aşağıdaki talimatları izlemelisiniz. GitHub repo. Zincirleme komutlar başarısız olursa komutları birer birer çalıştırın. Görüntülenen Docker sürümünü görmelisiniz. Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Terminal penceresini açık bırakın, dizüstü bilgisayara geri dönün ve onu hücre hücre çalıştırmaya başlayın.

Hücreyi çalıştırdığınızdan emin olun. pip install -U sagemaker yani SageMaker Python SDK'nın en son sürümünü kullanıyorsunuz.

Yerel eğitim

Yerel SageMaker eğitim işini çalıştırmaya başladığınızda aşağıdaki günlük satırlarını göreceksiniz:

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

Bu, eğitimin Docker kullanılarak yerel olarak çalıştırıldığını gösterir.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

Bu sırada sabırlı olun pytorch-training:2.1-cpu-py310 Docker görüntüsü çekilir. Büyük boyutundan (5.2 GB) dolayı birkaç dakika sürebilir.

Docker görüntüleri, son kullanıcıların erişemeyeceği SageMaker Studio uygulaması örneğinin kök biriminde depolanacaktır. Docker görüntülerine erişmenin ve bunlarla etkileşim kurmanın tek yolu, açıkta kalan Docker API işlemleridir.

Kullanıcı gizliliği açısından SageMaker Studio platformu, kullanıcıya özel görüntülere asla erişmez veya bunları saklamaz.

Eğitim tamamlandığında aşağıdaki başarı günlüğü satırlarını görebileceksiniz:

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

Yerel çıkarım

Aşağıdaki adımları tamamlayın:

  • SageMaker Yerel Modunu kullanarak SageMaker uç noktasını dağıtın.

Bu sırada sabırlı olun pytorch-inference:2.1-cpu-py310 Docker görüntüsü çekilir. Büyük boyutundan (4.32 GB) dolayı birkaç dakika sürebilir.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Test görüntülerini kullanarak yerel olarak dağıtılan SageMaker uç noktasını çağırın.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

Tahmin edilen sınıfları görebileceksiniz: kurbağa, gemi, araba ve uçak:

Predicted:  frog ship  car plane

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • SageMaker Local uç noktası hala çalışır durumda olduğundan, açık terminal penceresine geri dönün ve çalışan kapsayıcıları listeleyin:

docker ps

Koşuyu görebileceksiniz pytorch-inference:2.1-cpu-py310 SageMaker uç noktasını destekleyen konteyner.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Aynı anda yalnızca bir yerel uç noktayı çalıştırabileceğiniz için SageMaker yerel uç noktasını kapatmak ve çalışan kapsayıcıyı durdurmak için temizleme kodunu çalıştırın.

Yerel Modu kullanarak SageMaker Studio Classic'te eğitim ve çıkarımı simüle edin

  • Docker konteynerinin kapalı olduğundan emin olmak için açılan terminal penceresine gidebilir, docker ps'yi çalıştırabilir ve çalışan konteyner olmadığından emin olabilirsiniz.
  • Çalışan bir konteyner görürseniz çalıştırın docker stop <CONTAINER_ID> onu durdurmak için.

SageMaker Yerel Modunu kullanma ipuçları

SageMaker'ı ilk kez kullanıyorsanız, bkz. Makine öğrenimi modellerini eğitme. SageMaker ile çıkarım için modellerin dağıtımı hakkında daha fazla bilgi edinmek için bkz. Çıkarım için modelleri dağıtma.

Aşağıdaki önerileri aklınızda bulundurun:

  • Veri kümesi ve model yüklemeyi anlamak için giriş ve çıkış dosyalarını ve klasörlerini yazdırın
  • Hızlı test için 1-2 dönem ve küçük veri kümeleri kullanın
  • Ortam kurulumunu optimize etmek için bağımlılıkları Dockerfile'a önceden yükleyin
  • Hata ayıklama için uç noktalardaki serileştirme kodunu yalıtın

Docker kurulumunu Yaşam Döngüsü Yapılandırması olarak yapılandırma

Yeni bir SageMaker Studio alanı her başlatıldığında kurulumu basitleştirmek için Docker kurulum sürecini bir Yaşam Döngüsü Yapılandırması (LCC) betiği olarak tanımlayabilirsiniz. LCC'ler, SageMaker'ın alan oluşturma gibi etkinlikler sırasında çalıştırdığı komut dosyalarıdır. Bakın JüpyterLab, Kod Düzenleyiciya da SageMaker Stüdyo Klasik LCC kurulumu (kullanarak liman işçisi yükleme klibi Daha fazla bilgi edinmek için referans olarak).

Docker kurulumunu Yaşam Döngüsü Yapılandırması olarak yapılandırma

Docker kurulumunu Yaşam Döngüsü Yapılandırması olarak yapılandırma

SageMaker Studio alanlarında özel Docker görüntüleri oluşturun ve test edin

Bu adımda Docker'ı JupyterLab (veya Code Editor) uygulama alanına yüklersiniz ve SageMaker Studio alanlarıyla özel Docker görüntüleri oluşturmak, test etmek ve yayınlamak için Docker'ı kullanırsınız. Alanlar, bazı SageMaker Studio uygulamalarının depolama ve kaynak ihtiyaçlarını yönetmek için kullanılır. Her alanın bir uygulamanın örneğiyle 1:1 ilişkisi vardır. Oluşturulan her desteklenen uygulamanın kendi alanı vardır. SageMaker alanları hakkında daha fazla bilgi edinmek için bkz. Amazon SageMaker Studio'da verimliliği artırın: JupyterLab Spaces ve üretken yapay zeka araçlarıyla tanışın. Docker görüntüleri ve yapıları için yeterli depolamaya izin vermek amacıyla en az 30 GB depolama alanına sahip yeni bir alan sağladığınızdan emin olun.

Docker'ı bir alanın içine yükleyin

Docker CLI ve Docker Compose eklentisini bir JupyterLab alanına kurmak için aşağıdaki komutları çalıştırın. GitHub repo. SageMaker Stüdyosu yalnızca Docker 20.10.X sürümünü destekler.

Docker görüntüleri oluşturma

Docker'ın JupyterLab alanınızda kurulu olduğunu ve çalıştığını doğrulamak için aşağıdaki kodu çalıştırın:

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

JupyterLab (veya Kod Düzenleyici) alanı içinde özel bir Docker görüntüsü oluşturmak için aşağıdaki adımları tamamlayın:

  • Boş bir Docker dosyası oluşturun:

touch Dockerfile

  • Docker dosyasını, temel python'dan basit bir flask web sunucusu görüntüsü oluşturan aşağıdaki komutlarla düzenleyin: 3.10.13-bullseye görüntüsü üzerinde barındırılıyor Docker Hub'ı:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

Aşağıdaki kod örnek bir şişe uygulama dosyasının içeriğini gösterir app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

Ek olarak, referans Dockerfile komutlarını seçtiğiniz paketleri ve yapıtları içerecek şekilde güncelleyebilirsiniz.

  • Referans Dockerfile'ı kullanarak bir Docker görüntüsü oluşturun:

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

Dahil --network sagemaker'ı docker build komutunuza ekleyin, aksi halde derleme başarısız olur. Konteynerler Docker'ın varsayılan köprüsünde veya özel Docker ağlarında çalıştırılamaz. Konteynerler, SageMaker Studio uygulama konteyneriyle aynı ağda çalıştırılır. Kullanıcılar sagemaker'ı yalnızca ağ adı için kullanabilirler.

  • Derlemeniz tamamlandığında görüntünün mevcut olup olmadığını doğrulayın. Yapıyı bir ECR görüntüsü olarak yeniden etiketleyin ve iletin. İzin sorunlarıyla karşılaşırsanız aws ecr get-login-password… komutunu çalıştırın ve Docker push/pull işlemini yeniden çalıştırmayı deneyin:
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

Docker görüntülerini test edin

Docker'ın bir JupyterLab (veya Kod Düzenleyici) SageMaker Studio alanına kurulu olması, önceden oluşturulmuş veya özel Docker görüntülerini kapsayıcılar (veya kapsayıcıya alınmış uygulamalar) olarak test etmenize olanak tanır. Bu bölümde, REST web hizmetleri ve Python komut dosyaları gibi kapsayıcıya alınmış iş yüklerini test etmek amacıyla bir SageMaker Studio alanı içindeki Docker kapsayıcılarını sağlamak için docker run komutunu kullanıyoruz. Aşağıdaki adımları tamamlayın:

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • Test görüntüsü mevcut değilse, görüntüyü yerel makinenize çekmek için docker pull komutunu çalıştırın:

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • Kimlik doğrulama sorunlarıyla karşılaşırsanız aşağıdaki komutları çalıştırın:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • İş yükünüzü test etmek için bir kapsayıcı oluşturun:

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

Bu, yeni bir konteyner örneğini başlatır ve Docker'ın ENTRYPOINT'i kullanılarak tanımlanan uygulamayı çalıştırır:

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • Web uç noktanızın etkin olup olmadığını test etmek için URL'ye gidin https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

Aşağıdaki ekran görüntüsüne benzer bir JSON yanıtı görmelisiniz.

Docker kurulumunu Yaşam Döngüsü Yapılandırması olarak yapılandırma

Temizlemek

Gereksiz ücretlendirmelerden kaçınmak için bu yayındaki örnekleri çalıştırırken oluşturduğunuz kaynakları silin:

  1. SageMaker Studio alan adınızda şunu seçin: Stüdyo Klasik gezinme bölmesinde, ardından dur.
  2. SageMaker Studio alan adınızda şunu seçin: JüpyterLab or Kod Düzenleyici Gezinti bölmesinde uygulamanızı seçin ve ardından dur.

Sonuç

SageMaker Studio Yerel Modu ve Docker desteği, geliştiricilerin çalışma alanlarından ayrılmadan makine öğrenimi uygulamalarını daha hızlı oluşturmasına, test etmesine ve yinelemesine olanak sağlar. Test ortamlarına ve çıktılara anında erişim sağlayan bu yetenekler, iş akışlarını optimize eder ve üretkenliği artırır. SageMaker Studio Yerel Model ve Docker desteğimizi kullanarak deneyin. hızlı yerleşik özellik, dakikalar içinde tek kullanıcılar için yeni bir alan adı oluşturmanıza olanak tanır. Düşüncelerinizi yorumlar bölümünde paylaşınız!


Yazarlar Hakkında

Shweta SinghShweta Singh AWS'de Amazon SageMaker Machine Learning (ML) platform ekibinde Kıdemli Ürün Yöneticisidir ve SageMaker Python SDK'sına liderlik etmektedir. 5 yıldan fazla bir süredir Amazon'da çeşitli ürün rollerinde çalıştı. New York Üniversitesi'nden Bilgisayar Mühendisliği alanında Lisans derecesine ve Finans Mühendisliği alanında Yüksek Lisans derecesine sahiptir.

Eitan SelaEitan Sela AWS'de Üretken Yapay Zeka ve Makine Öğrenimi Uzmanı Çözüm Mimarıdır. Rehberlik ve teknik destek sağlamak için AWS müşterileriyle birlikte çalışarak onların AWS'de Üretken Yapay Zeka ve Makine Öğrenimi çözümleri oluşturmalarına ve çalıştırmalarına yardımcı oluyor. Eitan boş zamanlarında koşmaktan ve makine öğrenimi ile ilgili en son makaleleri okumaktan hoşlanıyor.

Pranav MurthyPranav Murthy AWS'de AI/ML Uzman Çözüm Mimarıdır. Müşterilerin makine öğrenimi (ML) iş yüklerini oluşturmasına, eğitmesine, dağıtmasına ve SageMaker'a taşımasına yardımcı olmaya odaklanıyor. Daha önce yarı iletken endüstrisinde, en gelişmiş makine öğrenimi tekniklerini kullanarak yarı iletken süreçlerini iyileştirmek için büyük bilgisayarlı görüntü (CV) ve doğal dil işleme (NLP) modelleri geliştirerek çalıştı. Boş zamanlarında satranç oynamaktan ve seyahat etmekten hoşlanıyor. Pranav'ı şurada bulabilirsiniz: LinkedIn.

Mufaddal RohawalaMufaddal Rohawala AWS'de Yazılım Mühendisidir. Amazon SageMaker için SageMaker Python SDK kitaplığı üzerinde çalışıyor. Boş zamanlarında seyahat etmekten, açık hava aktivitelerinden hoşlanır ve futbol hayranıdır.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?