Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.

Amazon SageMaker Pipelines'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun

Amazon SageMaker Ardışık Düzenleri makine öğrenimi (ML) kullanım örnekleri için tasarlanmış bir sürekli entegrasyon ve sürekli teslim (CI/CD) hizmetidir. Uçtan uca makine öğrenimi iş akışları oluşturmak, otomatikleştirmek ve yönetmek için kullanabilirsiniz. Zaman, çaba ve kaynak gerektiren bir makine öğrenimi sürecinin her adımını düzenleme zorluğunun üstesinden gelir. Kullanımını kolaylaştırmak için ihtiyaçlarınıza göre özelleştirebileceğiniz birden fazla şablon mevcuttur.

Tam olarak yönetilen görüntü ve video analiz hizmetleri, Bilgisayarla görme çözümlerinin benimsenmesini de hızlandırdı. AWS, önceden eğitilmiş ve tam olarak yönetilen bir AWS AI hizmeti sunmaktadır. Amazon Rekognisyon API çağrıları kullanılarak görüntü işleme uygulamalarına entegre edilebilir ve makine öğrenimi deneyimi gerektirmez. Sadece bir resim sağlamanız gerekiyor Amazon Tanıma API'si ve gerekli nesneleri önceden tanımlanmış etiketlere göre tanımlayabilir. Ayrıca, kullanım durumunuza özel özel etiketler sağlamak ve makine öğrenimi uzmanlığına çok az ihtiyaç duyarak veya hiç gerek duymadan özelleştirilmiş bir bilgisayarlı görüntü modeli oluşturmak da mümkündür.

Bu yazıda belirli bir bilgisayarlı görme sorununu ele alıyoruz: cilt lezyonu sınıflandırması ve mevcut bir şablonu özelleştirerek ve onu bu göreve uygun hale getirerek Pipelines'ı kullanıyoruz. Doğru cilt lezyonu sınıflandırması kanser hastalıklarının erken teşhisine yardımcı olabilir. Ancak tıp alanında bu zorlu bir iştir çünkü farklı türdeki cilt lezyonları arasında yüksek benzerlik vardır. Boru hatları, çeşitli mevcut model ve algoritmalardan faydalanmamıza ve minimum çaba ve zamanla uçtan uca üretime uygun bir boru hattı kurmamıza olanak tanır.

Çözüme genel bakış

Bu yazıda, yaygın pigmente cilt lezyonlarının dermatoskopik görüntülerini sınıflandırmak için Pipelines'ı kullanarak uçtan uca bir boru hattı oluşturuyoruz. biz kullanıyoruz Amazon SageMaker Stüdyosu proje şablonu Modelleri oluşturmak, eğitmek ve dağıtmak için MLOps şablonu ve aşağıdaki kod GitHub deposu. Ortaya çıkan mimari aşağıdaki şekilde gösterilmektedir.

Bu işlem hattı için, 10000 dermatoskopik görüntüden oluşan HAM10000 (“10,015 eğitim görüntüsüyle İnsana Karşı Makine”) veri setini kullanıyoruz. Eldeki görev, bilgisayarlı görme alanında çok sınıflı bir sınıflandırmadır. Bu veri seti pigmente lezyonlar alanındaki en önemli altı tanısal kategoriyi göstermektedir: aktinik keratoz ve intraepitelyal karsinom veya Bowen hastalığı (akiec), bazal hücreli karsinom (bcc), iyi huylu keratoz benzeri lezyonlar (solar lentijinler veya seboreik keratoz ve liken-planus benzeri keratoz), bkl), dermatofibrom (df), melanom (mel), melanositik nevüs (nv) ve vasküler lezyonlar (anjiyomlar, anjiyokeratomlar, piyojenik granülomlar ve kanama, vasc).

Model girişinin formatı için şunu kullanırız: RecordIO biçim. Bu, sürekli okuma ve dolayısıyla daha hızlı ve daha verimli eğitim için görüntü verilerini bir arada depolayan kompakt bir formattır. Ayrıca HAM10000 veri setini kullanmanın zorluklarından biri de sınıf dengesizliğidir. Aşağıdaki tablo sınıf dağılımını göstermektedir.

Sınıf akiec bcc bkl df mel nv damar
Görüntü sayısı 327 514 1099 115 1113 6705 142
Toplam 10015

Bu sorunu çözmek için, tüm sınıfları yaklaşık olarak aynı sayıda görüntüye sahip olacak şekilde rastgele dönüşümler (kırpma, çevirme, yansıtma ve döndürme gibi) kullanarak veri kümesini genişletiyoruz.

Bu ön işleme adımında MXNet ve OpenCV kullanılır, dolayısıyla önceden oluşturulmuş bir MXNet kapsayıcı görüntüsü kullanılır. Bağımlılıkların geri kalanı bir kullanılarak yüklenir. requirements.txt dosya. Özel bir görüntü oluşturmak ve kullanmak istiyorsanız bkz. Görüntü oluşturma CI/CD işlem hatlarıyla Amazon SageMaker projeleri oluşturun.

Eğitim adımı için, görüntü sınıflandırması için SageMaker yerleşik Scikit Docker görüntüsünde bulunan tahmin aracını kullanıyoruz ve parametreleri aşağıdaki gibi ayarlıyoruz:

hyperparameters = {
        "num_layers": 18,
        "use_pretrained_model": 1,
        "augmentation_type": 'crop_color_transform',
        "image_shape": '3,224,224', 
        "num_classes": 7,
        "num_training_samples": 29311, 
        "mini_batch_size": 8,
        "epochs": 5, 
        "learning_rate": 0.00001,
        "precision_dtype": 'float32'
    }

    estimator_config = {
        "hyperparameters": hyperparameters,
        "image_uri": training_image,
        "role": role,
        "instance_count": 1,
        "instance_type": "ml.p3.2xlarge",
        "volume_size": 100,
        "max_run": 360000,
        "output_path": "s3://{bucket}/{base_job_prefix}/training_jobs",
    }
    
    image_classifier = sagemaker.estimator.Estimator(**estimator_config)

Kapsayıcı görüntüsü hakkında daha fazla ayrıntı için bkz. Görüntü Sınıflandırma Algoritması.

Studio projesi oluşturma

Studio'nun nasıl kurulacağına ilişkin ayrıntılı talimatlar için bkz. Hızlı Kurulumu Kullanarak Amazon SageMaker Etki Alanında Yerleşik. Projenizi oluşturmak için aşağıdaki adımları tamamlayın:

  1. Studio'da şunu seçin: Projeler menüsü SageMaker kaynakları menüsü.
    Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.
    Projeler sayfasında önceden yapılandırılmış bir SageMaker MLOps şablonunu başlatabilirsiniz.
  2. Klinik Model oluşturma, eğitim ve dağıtım için MLOps şablonu.
  3. Klinik Proje şablonunu seçin.
    Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.
  4. Bir proje adı ve kısa açıklama girin.
  5. Klinik proje oluşturma.

Projenin oluşturulması birkaç dakika sürer.

Veri kümesini hazırlayın

Veri kümesini hazırlamak için aşağıdaki adımları tamamlayın:

  1. MyCAD'de yazılım Güncelleme ye git Harvard DataVerse.
  2. Klinik Veri Kümesine Erişimve Creative Commons Atıf-GayriTicari 4.0 Uluslararası Kamu Lisansı lisansını inceleyin.
  3. Lisansı kabul ediyorsanız, Orijinal Format Zip'i ve ZIP dosyasını indirin.
  4. Bir oluşturma Amazon Basit Depolama Hizmeti (Amazon S3) kovasına gidin ve ile başlayan bir ad seçin sagemaker (bu, SageMaker'ın ek izinlere gerek kalmadan pakete erişmesine olanak tanır).
  5. En iyi güvenlik uygulamaları için erişim günlüğünü ve şifrelemeyi etkinleştirebilirsiniz.
  6. Foto Yükle dataverse_files.zip kovaya.
  7. Daha sonra kullanmak üzere S3 klasör yolunu kaydedin.
  8. Verileri sakladığınız paketin adını ve sonraki klasörlerin adlarını daha sonra kullanmak üzere not edin.

Veri ön işlemeye hazırlanma

Ön işleme adımımızda MXNet ve OpenCV kullandığımız için önceden oluşturulmuş bir MXNet Docker görüntüsü kullanıyoruz ve kalan bağımlılıkları requirements.txt dosya. Bunu yapmak için kopyalayıp altına yapıştırmanız gerekir. pipelines/skin içinde sagemaker--modelbuild depo. Ayrıca şunları ekleyin: MANIFEST.in dosya ile aynı seviyede setup.pyPython'a şunu eklemesini söylemek için: requirements.txt dosya. Hakkında daha fazla bilgi için MANIFEST.inbakın MANIFEST.in ile dosyaları kaynak dağıtımlarına dahil etme. Her iki dosya da şurada bulunabilir: GitHub deposu.

İşlem Hatları şablonunu değiştirme

İşlem Hatları şablonunu güncellemek için aşağıdaki adımları tamamlayın:

  1. Varsayılan paketin içinde bir klasör oluşturun.
  2. Studio yürütme rolünün, veri kümesini içeren paketin yanı sıra varsayılan pakete de erişebildiğinden emin olun.
  3. Proje listesinden yeni oluşturduğunuz projeyi seçin.
  4. Üzerinde Depoları sekmesinde yerel olarak klonlamak için köprüleri seçin AWS CodeCommit yerel Studio örneğinize depolar.
    Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.
  5. gidin pipelines içindeki dizin sagemaker--modelbuild dizini yeniden adlandırın ve abalone dizini skin.
  6. Açın codebuild-buildspec.yml içindeki dosyayı sagemaker--modelbuild dizini açın ve çalıştırma işlem hattı yolunu değiştirin run-pipeline —module-name pipelines.abalone.pipeline (satır 15) aşağıdakilere:
    run-pipeline --module-name pipelines.skin.pipeline 

  7. Dosyayı kaydedin.
  8. Dosyaları değiştirin pipelines.py, preprocess.pyve evaluate.py boru hatları dizinindeki dosyaların bulunduğu GitHub deposu.
    Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.
  9. Güncelleme preprocess.py dosya (183-186. satırlar) S3 konumuna (SKIN_CANCER_BUCKET) ve klasör adı (SKIN_CANCER_BUCKET_PATH) yüklediğiniz yer dataverse_files.zip Arşiv:
    1. skin_cancer_bucket=””
    2. skin_cancer_bucket_path=””
    3. skin_cancer_files=””
    4. skin_cancer_files_ext=””

Önceki örnekte, veri kümesi şu adreste saklanacaktır: s3://monai-bucket-skin-cancer/skin_cancer_bucket_prefix/dataverse_files.zip.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.

Bir işlem hattı çalıştırmasını tetikleyin

Taahhüt edilen değişikliklerin CodeCommit deposuna iletilmesi (Studio kaynak kontrolü sekmesinde gerçekleştirilir) yeni bir işlem hattı çalıştırmasını tetikler, çünkü Amazon EventBridge taahhütler için olay monitörleri. SageMaker projesi içindeki boru hattını seçerek çalıştırmayı izleyebiliriz. Aşağıdaki ekran görüntüsü başarıyla çalıştırılan bir işlem hattının örneğini göstermektedir.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.

  1. Değişiklikleri uygulamak için sol bölmedeki Git bölümüne gidin.
  2. İlgili tüm değişiklikleri gerçekleştirin. konuyu takip etmenize gerek yok -checkpoint dosya. Bir giriş ekleyebilirsiniz. .gitignore ile dosya *checkpoint.* onları görmezden gelmek.
  3. Adınızı ve e-posta adresinizin yanı sıra bir özet sağlayarak değişiklikleri kabul edin.
  4. Değişiklikleri itin.
  5. Projeye geri dönün ve Boru Hatları Bölüm.
  6. Devam eden işlem hatlarını seçerseniz işlem hattının adımları görünür.
    Bu, o anda çalışmakta olan adımı izlemenize olanak tanır. İşlem hattının görünmesi birkaç dakika sürebilir. İşlem hattının çalışmaya başlaması için CI/CD'de tanımlanan adımlar codebuild-buildspec.yml başarıyla çalıştırmanız gerekiyor. Bu adımların durumunu kontrol etmek için şunu kullanabilirsiniz: AWS Kod Oluşturma. Daha fazla bilgi için bkz. AWS CodeBuild (AMS SSPS).
  7. İşlem hattı tamamlandığında proje sayfasına geri dönün ve Model grupları Model yapılarına eklenen meta verileri incelemek için sekme.
  8. Her şey yolunda görünüyorsa, Durum Güncelleme sekmesine tıklayın ve modeli manuel olarak onaylayın.Varsayılan ModelApprovalStatus ayarlandı PendingManualApproval. Modelimizin doğruluğu %60'ın üzerindeyse model kaydına eklenir ancak manuel onay tamamlanana kadar dağıtılmaz.
  9. gidin Uç noktalar SageMaker konsolunda, aşamalandırma uç noktasının oluşturulduğunu görebileceğiniz sayfa. Birkaç dakika sonra uç nokta şu şekilde listelenir: InService durumu.
  10. Uç noktayı üretime dağıtmak için CodePipeline konsolu seçin sagemaker--modeldeploy şu anda inşaatı devam eden boru hattı.
  11. Sonunda DeployStaging aşamada dağıtımı manuel olarak onaylamanız gerekir.

Bu adımdan sonra üretim uç noktasının SageMaker üzerinde konuşlandırıldığını görebilirsiniz. Uç noktalar sayfa. Bir süre sonra bitiş noktası şu şekilde görünür: InService.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.

Temizlemek

SageMaker projesinin oluşturduğu tüm kaynakları kolaylıkla temizleyebilirsiniz.

  1. Studio'daki gezinme bölmesinde şunu seçin: SageMaker kaynakları.
  2. Klinik Projeler açılır menüden projenizi seçin.
  3. Üzerinde İşlemler menü seç Sil ilgili tüm kaynakları silmek için.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.

Sonuçlar ve sonraki adımlar

HAM10000 veri kümesindeki yerleşik bir modeli kullanarak cilt lezyonu sınıflandırmasına yönelik uçtan uca bir MLOps çerçevesi oluşturmak için Pipelines'ı başarıyla kullandık. Depoda sağlanan parametreler için test setinde aşağıdaki sonuçları elde ettik.

metrik Hassas Geri çağırmak F1 skoru
Özellik 0.643 0.8 0.713

Hiperparametrelerine ince ayar yaparak, veri artırmak için daha fazla dönüşüm ekleyerek veya Sentetik Azınlık Aşırı Örnekleme Tekniği (SMOTE) veya Üretken Rekabetçi Ağlar (GAN'lar) gibi diğer yöntemleri kullanarak modelin performansını iyileştirmek için daha fazla çalışabilirsiniz. Ayrıca, yerleşik SageMaker Docker görüntülerini kullanarak veya kendi kapsayıcınızı SageMaker üzerinde çalışacak şekilde uyarlayarak eğitim için kendi modelinizi veya algoritmanızı kullanabilirsiniz. Daha fazla ayrıntı için bkz. SageMaker ile Docker kapsayıcılarını kullanma.

Ayrıca ardışık düzeninize ek özellikler de ekleyebilirsiniz. İzlemeyi dahil etmek istiyorsanız, Model oluşturma, eğitim, dağıtım ve izleme için MLOps şablonu SageMaker projesini oluştururken şablon. Ortaya çıkan mimarinin ek bir izleme adımı vardır. Veya mevcut bir üçüncü taraf Git deponuz varsa, bunu seçerek kullanabilirsiniz. Jenkins'i kullanan üçüncü taraf Git depolarıyla model oluşturma, eğitim ve dağıtıma yönelik MLOps şablonu proje oluşturma ve hem model oluşturma hem de model dağıtım havuzları için bilgi sağlama. Bu, mevcut herhangi bir kodu kullanmanıza olanak tanır ve SageMaker ile Git arasındaki entegrasyon konusunda zamandan ve emekten tasarruf etmenizi sağlar. Ancak bu seçenek için bir AWS CodeStar bağlantı gereklidir.

Sonuç

Bu yazıda Studio ve otomatik Pipelines kullanarak uçtan uca makine öğrenimi iş akışının nasıl oluşturulacağını gösterdik. İş akışı, veri kümesinin alınmasını, ML modelinin erişebileceği bir yerde saklanmasını, ön işleme için bir kapsayıcı görüntüsünün yapılandırılmasını ve ardından bu tür görüntüye uyum sağlamak için standart kodun değiştirilmesini içerir. Daha sonra boru hattının nasıl tetikleneceğini, boru hattının izlediği adımları ve nasıl çalıştığını gösterdik. Ayrıca model performansının nasıl izleneceğini ve modelin bir uç noktaya nasıl dağıtılacağını da tartıştık.

Bu görevlerin çoğunu, her şeyi kapsayan bir ML IDE görevi gören ve bu tür modellerin geliştirilmesini ve dağıtılmasını hızlandıran Studio'da gerçekleştirdik.

Bu çözüm cilt sınıflandırma görevine bağlı değildir. SageMaker'ın yerleşik algoritmalarından veya önceden eğitilmiş modellerinden herhangi birini kullanarak bunu herhangi bir sınıflandırma veya regresyon görevine genişletebilirsiniz.


yazarlar hakkında

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai. Mariem Kthiri AWS Professional Services Globals'da AI/ML danışmanıdır ve Sağlık ve Yaşam Bilimleri (HCLS) ekibinin bir parçasıdır. Çeşitli sorunlara yönelik makine öğrenimi çözümleri oluşturma konusunda tutkuludur ve her zaman yeni fırsatlar ve girişimlerden yararlanmaya isteklidir. Almanya'nın Münih şehrinde yaşıyor ve seyahat etmeyi ve dünyanın diğer bölgelerini keşfetmeyi çok seviyor.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.Yassine Zaafouri AWS'de Profesyonel Hizmetler bölümünde AI/ML danışmanıdır. Küresel kurumsal müşterilerin iş zorluklarının üstesinden gelmek için bulutta AI/ML çözümleri oluşturmasına ve dağıtmasına olanak tanıyor. Boş zamanlarında spor yapmaktan, izlemekten ve dünyayı dolaşmaktan hoşlanıyor.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.Fotinos Kyriakides AWS'de Profesyonel Hizmetler bünyesinde AI/ML Mühendisidir. Müşterilere değer sağlamak ve iş sonuçlarına ulaşmak için teknolojiyi kullanma konusunda tutkulu. Londra'daki üssünde boş zamanlarında koşmaktan ve keşfetmekten hoşlanıyor.

Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence'ı kullanarak bilgisayarlı görüntü cilt lezyonu sınıflandırıcısı için bir çözüm oluşturun. Dikey Arama. Ai.Anna Zapaishchykova AI/ML'de ProServe Danışmanıydı ve Amazon Healthcare TFC'nin üyesiydi. Teknoloji ve teknolojinin sağlık hizmetleri üzerinde yaratabileceği etki konusunda tutkulu. Geçmişi sigorta, otomotiv ve sağlık hizmetleri gibi çeşitli alanlardaki müşteri sorunlarına MLOps ve yapay zeka destekli çözümler oluşturmaktır.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi