Klasifikasi Gambar - MXNet - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Klasifikasi Gambar - MXNet

Algoritma klasifikasi SageMaker gambar Amazon adalah algoritma pembelajaran yang diawasi yang mendukung klasifikasi multi-label. Dibutuhkan gambar sebagai input dan output satu atau lebih label yang ditetapkan untuk gambar itu. Ini menggunakan jaringan saraf convolutional yang dapat dilatih dari awal atau dilatih menggunakan pembelajaran transfer ketika sejumlah besar gambar pelatihan tidak tersedia

Format input yang direkomendasikan untuk algoritma klasifikasi SageMaker gambar Amazon adalah Apache MxNet Recordio. Namun, Anda juga dapat menggunakan gambar mentah dalam format.jpg atau .png. Lihat diskusi ini untuk gambaran luas tentang persiapan dan pemuatan data yang efisien untuk sistem pembelajaran mesin.

catatan

Untuk mempertahankan interoperabilitas yang lebih baik dengan kerangka kerja pembelajaran mendalam yang ada, ini berbeda dari format data protobuf yang biasa digunakan oleh algoritme Amazon lainnya. SageMaker

Untuk informasi lebih lanjut tentang jaringan convolutional, lihat:

Antarmuka Input/Output untuk Algoritma Klasifikasi Gambar

Algoritma Klasifikasi SageMaker Gambar mendukung jenis konten RecorDio (application/x-recordio) dan image (image/pngimage/jpeg,, danapplication/x-image) untuk pelatihan dalam mode file, dan mendukung jenis konten RecorDio (application/x-recordio) untuk pelatihan dalam mode pipa. Namun, Anda juga dapat berlatih dalam mode pipa menggunakan file gambar (image/png,, danapplication/x-image)image/jpeg, tanpa membuat file RecorDo, dengan menggunakan format augmented manifest.

Pelatihan terdistribusi didukung untuk mode file dan mode pipa. Saat menggunakan jenis konten RecorDio dalam mode pipa, Anda harus mengatur S3DataDistributionType to. S3DataSource FullyReplicated Algoritma ini mendukung model yang sepenuhnya direplikasi di mana data Anda disalin ke setiap mesin.

Algoritma mendukungimage/png,image/jpeg, dan application/x-image untuk inferensi.

Berlatih dengan Format Recordio

Jika Anda menggunakan format RecorDo untuk pelatihan, tentukan keduanya train dan validation saluran sebagai nilai untuk InputDataConfig parameter permintaan. CreateTrainingJob Tentukan satu file RecorDo (.rec) di train saluran dan satu file Recordio di saluran. validation Atur jenis konten untuk kedua saluranapplication/x-recordio.

Berlatih dengan Format Gambar

Jika Anda menggunakan format Gambar untuk pelatihan, tentukan trainvalidation,train_lst,, dan validation_lst saluran sebagai nilai untuk InputDataConfig parameter CreateTrainingJobpermintaan. Tentukan data gambar individu (.jpgatau .png file) untuk train dan validation saluran. Tentukan satu .lst file di masing-masing validation_lst saluran train_lst dan. Atur jenis konten untuk keempat saluran keapplication/x-image.

catatan

SageMaker membaca data pelatihan dan validasi secara terpisah dari saluran yang berbeda, jadi Anda harus menyimpan data pelatihan dan validasi di folder yang berbeda.

.lstFile adalah file yang dipisahkan tab dengan tiga kolom yang berisi daftar file gambar. Kolom pertama menentukan indeks gambar, kolom kedua menentukan indeks label kelas untuk gambar, dan kolom ketiga menentukan jalur relatif dari file gambar. Indeks gambar di kolom pertama harus unik di semua gambar. Kumpulan indeks label kelas diberi nomor berturut-turut dan penomoran harus dimulai dengan 0. Misalnya, 0 untuk kelas kucing, 1 untuk kelas dog, dan seterusnya untuk kelas tambahan.

Berikut ini adalah contoh .lst file:

5 1 your_image_directory/train_img_dog1.jpg 1000 0 your_image_directory/train_img_cat1.jpg 22 1 your_image_directory/train_img_dog2.jpg

Misalnya, jika gambar latihan Anda disimpan dis3://<your_bucket>/train/class_dog,s3://<your_bucket>/train/class_cat, dan seterusnya, tentukan jalur untuk train saluran Anda sebagais3://<your_bucket>/train, yang merupakan direktori tingkat atas untuk data Anda. Dalam .lst file, tentukan jalur relatif untuk file individual bernama train_image_dog1.jpg dalam direktori class_dog kelas sebagaiclass_dog/train_image_dog1.jpg. Anda juga dapat menyimpan semua file gambar Anda di bawah satu subdirektori di dalam train direktori. Dalam hal ini, gunakan subdirektori itu untuk jalur relatif. Misalnya, s3://<your_bucket>/train/your_image_directory.

Berlatih dengan Augmented Manifest Image Format

Format manifes yang diperbesar memungkinkan Anda melakukan pelatihan dalam mode Pipe menggunakan file gambar tanpa perlu membuat file RecorDio. Anda perlu menentukan saluran kereta dan validasi sebagai nilai untuk InputDataConfig parameter CreateTrainingJobpermintaan. Saat menggunakan format, file manifes S3 perlu dibuat yang berisi daftar gambar dan anotasi yang sesuai. Format file manifes harus dalam format JSON Lines di mana setiap baris mewakili satu sampel. Gambar ditentukan menggunakan 'source-ref' tag yang menunjuk ke lokasi S3 gambar. Anotasi disediakan di bawah nilai "AttributeNames" parameter seperti yang ditentukan dalam CreateTrainingJobpermintaan. Ini juga dapat berisi metadata tambahan di bawah metadata tag, tetapi ini diabaikan oleh algoritma. Dalam contoh berikut, yang "AttributeNames" terkandung dalam daftar referensi ["source-ref", "class"] gambar dan anotasi. Nilai label yang sesuai adalah "0" untuk gambar pertama dan “1” untuk gambar kedua:

{"source-ref":"s3://image/filename1.jpg", "class":"0"} {"source-ref":"s3://image/filename2.jpg", "class":"1", "class-metadata": {"class-name": "cat", "type" : "groundtruth/image-classification"}}

Urutan "AttributeNames" dalam file input penting saat melatih ImageClassification algoritma. Ini menerima data pipa dalam urutan tertentu, dengan image pertama, diikuti oleh. label Jadi "AttributeNames" dalam contoh ini disediakan dengan yang "source-ref" pertama, diikuti oleh"class". Saat menggunakan ImageClassification algoritma dengan Augmented Manifest, nilai RecordWrapperType parameter harus"RecordIO".

Pelatihan multi-label juga didukung dengan menentukan array nilai JSON. num_classesHyperparameter harus diatur agar sesuai dengan jumlah total kelas. Ada dua format label yang valid: multi-hot dan class-id.

Dalam format multi-hot, setiap label adalah vektor multi-hot encoded dari semua kelas, di mana setiap kelas mengambil nilai 0 atau 1. Dalam contoh berikut, ada tiga kelas. Gambar pertama diberi label dengan kelas 0 dan 2, sedangkan gambar kedua diberi label dengan kelas 2 saja:

{"image-ref": "s3://mybucket/sample01/image1.jpg", "class": "[1, 0, 1]"} {"image-ref": "s3://mybucket/sample02/image2.jpg", "class": "[0, 0, 1]"}

Dalam format class-id, setiap label adalah daftar id kelas, dari [0,num_classes), yang berlaku untuk titik data. Contoh sebelumnya malah akan terlihat seperti ini:

{"image-ref": "s3://mybucket/sample01/image1.jpg", "class": "[0, 2]"} {"image-ref": "s3://mybucket/sample02/image2.jpg", "class": "[2]"}

Format multi-hot adalah default, tetapi dapat secara eksplisit diatur dalam tipe konten dengan label-format parameter: Format class-id, "application/x-recordio; label-format=multi-hot". yang merupakan format yang dikeluarkan oleh, harus disetel secara eksplisit: GroundTruth "application/x-recordio; label-format=class-id".

Untuk informasi selengkapnya tentang file manifes tambahan, lihatMenyediakan Metadata Set Data untuk Pekerjaan Pelatihan dengan File Manifes yang Ditambah.

Pelatihan Inkremental

Anda juga dapat menyemai pelatihan model baru dengan artefak dari model yang Anda latih sebelumnya. SageMaker Pelatihan tambahan menghemat waktu pelatihan ketika Anda ingin melatih model baru dengan data yang sama atau serupa. SageMaker model klasifikasi gambar hanya dapat diunggulkan dengan model klasifikasi gambar bawaan lainnya yang dilatih. SageMaker

Untuk menggunakan model yang telah dilatih sebelumnya, dalam CreateTrainingJobpermintaan, tentukan ChannelName sebagai “model” dalam InputDataConfig parameter. Atur saluran ContentType untuk model keapplication/x-sagemaker-model. Hiperparameter input dari model baru dan model terlatih yang Anda unggah ke saluran model harus memiliki pengaturan yang sama untuk parameternum_layers, image_shape dan num_classes input. Parameter ini menentukan arsitektur jaringan. Untuk file model yang telah dilatih sebelumnya, gunakan artefak model terkompresi (dalam format.tar.gz) keluaran oleh. SageMaker Anda dapat menggunakan format RecorDio atau gambar untuk input data.

Inferensi dengan Algoritma Klasifikasi Gambar

Model yang dihasilkan dapat di-host untuk inferensi dan mendukung format yang dikodekan .jpg dan .png gambar sebagaiimage/png, image/jpeg, dan tipe konten. application/x-image Gambar input diubah ukurannya secara otomatis. Outputnya adalah nilai probabilitas untuk semua kelas yang dikodekan dalam format JSON, atau dalam format teks JSON Lines untuk transformasi batch. Model klasifikasi gambar memproses satu gambar per permintaan sehingga hanya menghasilkan satu baris dalam format JSON atau JSON Lines. Berikut ini adalah contoh respon dalam format JSON Lines:

accept: application/jsonlines {"prediction": [prob_0, prob_1, prob_2, prob_3, ...]}

Untuk detail lebih lanjut tentang pelatihan dan inferensi, lihat contoh contoh contoh klasifikasi gambar contoh contoh contoh yang direferensikan dalam pendahuluan.

Rekomendasi Instans EC2 untuk Algoritma Klasifikasi Gambar

Untuk klasifikasi gambar, kami mendukung instance P2, P3, G4dn, dan G5. Sebaiknya gunakan instans GPU dengan lebih banyak memori untuk pelatihan dengan ukuran batch besar. Anda juga dapat menjalankan algoritme pada pengaturan multi-GPU dan multi-mesin untuk pelatihan terdistribusi. Kedua instance CPU (seperti C4) dan GPU (P2, P3, G4dn, atau G5) dapat digunakan untuk inferensi.

Klasifikasi Gambar Contoh Notebook

Untuk contoh buku catatan yang menggunakan algoritma klasifikasi SageMaker gambar, lihat Membangun dan Mendaftarkan Model Klasifikasi Gambar MXNet melalui Pipelines. SageMaker Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh, lihat. SageMaker Instans SageMaker Notebook Amazon Setelah Anda membuat instance notebook dan membukanya, pilih tab SageMakerContoh untuk melihat daftar semua SageMaker sampel. Contoh notebook klasifikasi gambar terletak di bagian Pengantar algoritma Amazon. Untuk membuka buku catatan, klik tab Use dan pilih Create copy.