

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

# Klasifikasi Gambar - MXNet
<a name="image-classification"></a>

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 gambar Amazon SageMaker AI adalah Apache MXNet RecorDio.](https://mxnet.apache.org/api/faq/recordio) Namun, Anda juga dapat menggunakan gambar mentah dalam format.jpg atau .png. Lihat [diskusi ini](https://mxnet.apache.org/api/architecture/note_data_loading) 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 AI Amazon lainnya. SageMaker 

Untuk informasi lebih lanjut tentang jaringan convolutional, lihat: 
+ [Pembelajaran residual mendalam untuk pengenalan gambar](https://arxiv.org/abs/1512.03385) Kaiming He, et al., Konferensi IEEE 2016 tentang Visi Komputer dan Pengenalan Pola
+ [ImageNet database gambar](http://www.image-net.org/)
+ [Klasifikasi gambar dengan gluon-CV dan MXNet](https://gluon-cv.mxnet.io/build/examples_classification/index.html)

**Topics**
+ [Antarmuka Input/Output untuk Algoritma Klasifikasi Gambar](#IC-inputoutput)
+ [Rekomendasi Instans EC2 untuk Algoritma Klasifikasi Gambar](#IC-instances)
+ [Klasifikasi Gambar Contoh Notebook](#IC-sample-notebooks)
+ [Bagaimana Klasifikasi Gambar Bekerja](IC-HowItWorks.md)
+ [Klasifikasi Gambar Hyperparameters](IC-Hyperparameter.md)
+ [Menyetel Model Klasifikasi Gambar](IC-tuning.md)

## Antarmuka Input/Output untuk Algoritma Klasifikasi Gambar
<a name="IC-inputoutput"></a>

Algoritma SageMaker AI Image Classification mendukung jenis konten RecorDio (`application/x-recordio`) dan image (`image/png``image/jpeg`,, dan`application/x-image`) untuk pelatihan dalam mode file, dan mendukung tipe konten RecorDio (`application/x-recordio`) untuk pelatihan dalam mode pipa. Namun, Anda juga dapat berlatih dalam mode pipa menggunakan file gambar (`image/png`,, dan`application/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 mendukung`image/png`,`image/jpeg`, dan `application/x-image` untuk inferensi.

### Berlatih dengan Format Recordio
<a name="IC-recordio-training"></a>

Jika Anda menggunakan format RecorDo untuk pelatihan, tentukan keduanya `train` dan `validation` saluran sebagai nilai untuk `InputDataConfig` parameter permintaan. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) Tentukan satu file RecorDo (`.rec`) di `train` saluran dan satu file Recordio di saluran. `validation` Atur jenis konten untuk kedua saluran`application/x-recordio`. 

### Berlatih dengan Format Gambar
<a name="IC-image-training"></a>

Jika Anda menggunakan format Gambar untuk pelatihan, tentukan `train``validation`,`train_lst`,, dan `validation_lst` saluran sebagai nilai untuk `InputDataConfig` parameter [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan. Tentukan data gambar individu (`.jpg`atau `.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 ke`application/x-image`. 

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

`.lst`File 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 di`s3://<your_bucket>/train/class_dog`,`s3://<your_bucket>/train/class_cat`, dan seterusnya, tentukan jalur untuk `train` saluran Anda sebagai`s3://<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 sebagai`class_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
<a name="IC-augmented-manifest-training"></a>

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 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan. Saat menggunakan format, file manifes S3 perlu dibuat yang berisi daftar gambar dan anotasi yang sesuai. Format file manifes harus dalam format [JSON Lines](http://jsonlines.org/) 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 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan. 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_classes`Hyperparameter 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://amzn-s3-demo-bucket/sample01/image1.jpg", "class": "[1, 0, 1]"}
{"image-ref": "s3://amzn-s3-demo-bucket/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://amzn-s3-demo-bucket/sample01/image1.jpg", "class": "[0, 2]"}
{"image-ref": "s3://amzn-s3-demo-bucket/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, lihat[Augmented Manifest Files untuk Pekerjaan Pelatihan](augmented-manifest.md).

### Pelatihan Inkremental
<a name="IC-incremental-training"></a>

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

Untuk menggunakan model yang telah dilatih sebelumnya, dalam [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan, tentukan `ChannelName` sebagai “model” dalam `InputDataConfig` parameter. Atur saluran `ContentType` untuk model ke`application/x-sagemaker-model`. Hiperparameter input dari model baru dan model terlatih yang Anda unggah ke saluran model harus memiliki pengaturan yang sama untuk parameter`num_layers`, `image_shape` dan `num_classes` input. Parameter ini menentukan arsitektur jaringan. Untuk file model yang telah dilatih sebelumnya, gunakan keluaran artefak model terkompresi (dalam format.tar.gz) oleh AI. SageMaker Anda dapat menggunakan format RecorDio atau gambar untuk input data.

### Inferensi dengan Algoritma Klasifikasi Gambar
<a name="IC-inference"></a>

Model yang dihasilkan dapat di-host untuk inferensi dan mendukung format yang dikodekan `.jpg` dan `.png` gambar sebagai`image/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](http://jsonlines.org/) 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 respons 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
<a name="IC-instances"></a>

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
<a name="IC-sample-notebooks"></a>

Untuk contoh buku catatan yang menggunakan algoritme klasifikasi gambar SageMaker AI, lihat [Membuat dan Mendaftarkan Model Klasifikasi MXNet Gambar melalui SageMaker Pipelines](https://github.com/aws-samples/amazon-sagemaker-pipelines-mxnet-image-classification/blob/main/image-classification-sagemaker-pipelines.ipynb). Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. [Instans SageMaker notebook Amazon](nbi.md) Setelah Anda membuat instance notebook dan membukanya, pilih tab **Contoh SageMaker AI** untuk melihat daftar semua sampel SageMaker AI. Contoh notebook klasifikasi gambar terletak di bagian **Pengantar algoritma Amazon**. Untuk membuka buku catatan, klik tab **Use** dan pilih **Create copy**.