Persyaratan data gambar - Amazon SageMaker AI

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

Persyaratan data gambar

Pekerjaan pemrosesan SageMaker Clarify memberikan dukungan untuk menjelaskan gambar. Topik ini menyediakan persyaratan format data untuk data gambar. Untuk informasi tentang memproses data gambar, lihatcomputer vision.

Dataset gambar berisi satu atau lebih file gambar. Untuk mengidentifikasi kumpulan data input ke tugas pemrosesan SageMaker Clarify, tetapkan dataset_uri parameter konfigurasi ProcessingInputbernama dataset atau analisis ke awalan URI Amazon S3 dari file gambar Anda.

Format file gambar yang didukung dan ekstensi file tercantum dalam tabel berikut.

Format gambar Ekstensi file

JPEG

jpg, jpeg

PNG

png

Atur dataset_type parameter konfigurasi analisis keapplication/x-image. Karena jenisnya bukan format file gambar tertentu, content_type maka akan digunakan untuk menentukan format dan ekstensi file gambar.

Pekerjaan pemrosesan SageMaker Clarify memuat setiap file gambar ke NumPyarray 3 dimensi untuk diproses lebih lanjut. Tiga dimensi termasuk tinggi, lebar, dan nilai RGB dari setiap piksel.

Pekerjaan pemrosesan SageMaker Clarify mengubah data RGB mentah dari suatu gambar menjadi format gambar yang kompatibel, seperti JPEG. Ia melakukan ini sebelum mengirim data ke titik akhir untuk prediksi. Format gambar yang didukung adalah sebagai berikut.

Format Data Jenis MIME Ekstensi file

JPEG

image/jpeg

jpg, jpeg

PNG

image/png

png

NPY

application/x-npy

Semua di atas

Tentukan format data payload permintaan dengan menggunakan parameter content_type konfigurasi analisis. Jika tidak content_type disediakan, format data default ke. image/jpeg

Setelah menerima respons dari pemanggilan titik akhir inferensi, pekerjaan pemrosesan SageMaker Clarialisasi deserialisasi muatan respons dan kemudian mengekstrak prediksi darinya.

Masalah klasifikasi gambar

Format data payload respon harus ditentukan oleh parameter konfigurasi analisis accept_type. Jika tidak accept_type disediakan, format data default ke. application/json Format yang didukung sama dengan yang dijelaskan dalam respons Titik Akhir untuk data tabular di bagian data tabular.

Lihat Inferensi dengan Algoritma Klasifikasi Gambar contoh algoritma klasifikasi gambar bawaan SageMaker AI yang menerima satu gambar dan kemudian mengembalikan array nilai probabilitas (skor), masing-masing untuk kelas.

Seperti yang ditunjukkan pada tabel berikut, ketika content_type parameter diatur keapplication/jsonlines, responsnya adalah objek JSON.

Muatan permintaan titik akhir Muatan respons titik akhir (representasi string)

Gambar tunggal

'{"prediksi”: [0.1,0.6,0.3]}'

Pada contoh sebelumnya, atur probability parameter ke JMESPath ekspresi “prediksi” untuk mengekstrak skor.

Ketika content_type diatur keapplication/json, respon adalah objek JSON, seperti yang ditunjukkan pada tabel berikut.

Muatan permintaan titik akhir Muatan respons titik akhir (representasi string)

Gambar tunggal

'[0.1,0.6,0.3]'

Pada contoh sebelumnya, atur probability ke JMESPath ekspresi “[*]” untuk mengekstrak semua elemen array. Pada contoh sebelumnya, [0.1, 0.6, 0.3]diekstraksi. Atau, jika Anda melewatkan pengaturan parameter probability konfigurasi, maka semua elemen array juga diekstraksi. Ini karena seluruh muatan dideserialisasi sebagai prediksi.

Masalah deteksi objek

Konfigurasi analisis accept_type default application/json dan satu-satunya format yang didukung adalah Format Inferensi Deteksi Objek. Untuk informasi selengkapnya tentang format respons, lihatFormat Respons.

Tabel berikut adalah contoh respon dari endpoint yang output array. Setiap elemen array adalah array nilai yang berisi indeks kelas, skor kepercayaan, dan koordinat kotak pembatas dari objek yang terdeteksi.

Muatan permintaan titik akhir Muatan respons titik akhir (representasi string)

Gambar tunggal (satu objek)

'[[4.0, 0,86419455409049988, 0,3088374733924866, 0,07030484080314636, 0,7110607028007507, 0,9345266819000244]]'

Gambar tunggal (dua objek)

'[[4.0, 0,86419455409049988, 0,3088374733924866, 0,07030484080314636, 0,7110607028007507, 0,9345266819000244], [0,0, 0,73376623392105103, 0,5714187026023865, 0,40427327156066895, 0,827075183391571, 0,9712159633636475]]'

Tabel berikut adalah contoh respon dari endpoint yang output objek JSON dengan kunci mengacu pada array. Atur konfigurasi analisis probability ke “prediksi” kunci untuk mengekstrak nilai.

Muatan permintaan titik akhir Muatan respons titik akhir (representasi string)

Gambar tunggal (satu objek)

'{"prediksi”: [[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]}'

Gambar tunggal (dua objek)

'{"prediksi”: [[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244], [0.73376623392105103, 0.57141870260236023865, 0,40427327156066895, 0,827075183391571, 0,9712159633636475]]}'

Pra-periksa permintaan titik akhir dan respons untuk data gambar

Kami menyarankan Anda menerapkan model Anda ke titik akhir inferensi real-time SageMaker AI, dan mengirim permintaan ke titik akhir. Periksa permintaan dan tanggapan secara manual. Pastikan keduanya sesuai dengan persyaratan di bagian Endpoint request for image data dan Endpoint response for image data section.

Berikut ini adalah dua contoh kode yang menunjukkan cara mengirim permintaan dan memeriksa tanggapan untuk klasifikasi gambar dan masalah deteksi objek.

Masalah klasifikasi gambar

Contoh kode berikut menginstruksikan endpoint untuk membaca file PNG dan kemudian mengklasifikasikannya.

aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-image-classification \ --content-type "image/png" \ --accept "application/json" \ --body fileb://./test.png \ /dev/stderr 1>/dev/null

Dari contoh kode sebelumnya, output respons mengikuti.

[0.1,0.6,0.3]

Masalah deteksi objek

Contoh kode berikut menginstruksikan endpoint untuk membaca file JPEG dan kemudian mendeteksi objek di dalamnya.

aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-object-detection \ --content-type "image/jpg" \ --accept "application/json" \ --body fileb://./test.jpg \ /dev/stderr 1>/dev/null

Dari contoh kode sebelumnya, output respons mengikuti.

{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475],[4.0, 0.32643985450267792, 0.3677481412887573, 0.034883320331573486, 0.6318609714508057, 0.5967587828636169],[8.0, 0.22552496790885925, 0.6152569651603699, 0.5722782611846924, 0.882301390171051, 0.8985623121261597],[3.0, 0.42260299175977707, 0.019305512309074402, 0.08386176824569702, 0.39093565940856934, 0.9574796557426453]]}