Amazon SageMaker menyediakan serangkaian algoritme bawaan, model pra-terlatih, dan templat solusi yang dibuat sebelumnya untuk membantu ilmuwan data dan praktisi pembelajaran mesin (ML) memulai pelatihan dan menerapkan model ML dengan cepat. Anda dapat menggunakan algoritme dan model ini untuk pembelajaran terawasi dan tidak terawasi. Mereka dapat memproses berbagai jenis data input, termasuk tabular, gambar, dan teks.
Posting ini adalah yang kedua dari seri algoritma bawaan baru di SageMaker. Dalam Pos pertama, kami menunjukkan bagaimana SageMaker menyediakan algoritme bawaan untuk klasifikasi gambar. Hari ini, kami mengumumkan bahwa SageMaker menyediakan algoritme bawaan baru untuk deteksi objek menggunakan TensorFlow. Algoritme pembelajaran yang diawasi ini mendukung pembelajaran transfer untuk banyak model terlatih yang tersedia di TensorFlow. Dibutuhkan gambar sebagai masukan dan keluaran objek yang ada dalam gambar beserta kotak pembatasnya. Anda dapat menyempurnakan model terlatih ini menggunakan pembelajaran transfer bahkan ketika sejumlah besar gambar pelatihan tidak tersedia. Ini tersedia melalui SageMaker algoritme bawaan serta melalui UI JumpStart SageMaker in Studio Amazon SageMaker. Untuk informasi lebih lanjut, lihat Tensorflow Deteksi Objek dan contoh buku catatan Pengantar SageMaker Tensorflow โ Deteksi Objek.
Deteksi objek dengan TensorFlow di SageMaker memberikan pembelajaran transfer pada banyak model terlatih yang tersedia di TensorFlow Hub. Berdasarkan jumlah label kelas dalam data pelatihan, kepala deteksi objek baru yang diinisialisasi secara acak menggantikan kepala model TensorFlow yang sudah ada. Baik seluruh jaringan, termasuk model yang telah dilatih sebelumnya, atau hanya lapisan atas (kepala deteksi objek) yang dapat disesuaikan pada data pelatihan baru. Dalam mode pembelajaran transfer ini, Anda dapat mencapai pelatihan bahkan dengan kumpulan data yang lebih kecil.
Cara menggunakan algoritma deteksi objek TensorFlow yang baru
Bagian ini menjelaskan cara menggunakan algoritma deteksi objek TensorFlow dengan SDK Python SageMaker. Untuk informasi tentang cara menggunakannya dari UI Studio, lihat SageMaker JumpStart.
Algoritme mendukung pembelajaran transfer untuk model pra-terlatih yang tercantum dalam Model TensorFlow. Setiap model diidentifikasi dengan keunikan model_id
. Kode berikut menunjukkan cara menyempurnakan model FPN ResNet50 V1 yang diidentifikasi oleh model_id
tensorflow-od1-ssd-resnet50-v1-fpn-640x640-coco17-tpu-8
pada set data pelatihan khusus. Untuk setiap model_id
, untuk meluncurkan pekerjaan pelatihan SageMaker melalui Penilai kelas SageMaker Python SDK, Anda perlu mengambil URI gambar Docker, URI skrip pelatihan, dan URI model terlatih melalui fungsi utilitas yang disediakan di SageMaker. URI skrip pelatihan berisi semua kode yang diperlukan untuk pemrosesan data, memuat model yang telah dilatih sebelumnya, pelatihan model, dan menyimpan model yang dilatih untuk inferensi. URI model terlatih berisi definisi arsitektur model terlatih dan parameter model. Perhatikan bahwa URI gambar Docker dan URI skrip pelatihan sama untuk semua model deteksi objek TensorFlow. URI model terlatih khusus untuk model tertentu. Tarball model terlatih telah diunduh sebelumnya dari TensorFlow dan disimpan dengan tanda tangan model yang sesuai di Layanan Penyimpanan Sederhana Amazon (Amazon S3), sehingga tugas pelatihan berjalan dalam isolasi jaringan. Lihat kode berikut:
Dengan artefak pelatihan khusus model ini, Anda dapat membuat objek dari Penilai kelas:
Selanjutnya, untuk mentransfer pembelajaran pada dataset kustom, Anda mungkin perlu mengubah nilai default dari hyperparameter pelatihan, yang tercantum di Hyperparameter. Anda dapat mengambil kamus Python dari hyperparameter ini dengan nilai defaultnya dengan memanggil hyperparameters.retrieve_default
, perbarui sesuai kebutuhan, lalu teruskan ke kelas Estimator. Perhatikan bahwa nilai default dari beberapa hyperparameter berbeda untuk model yang berbeda. Untuk model besar, ukuran batch default lebih kecil dan train_only_top_layer
hyperparameter diatur ke True
. hiperparameter train_only_top_layer
mendefinisikan parameter model mana yang berubah selama proses fine-tuning. Jika train_only_top_layer
is True
, parameter lapisan klasifikasi berubah dan parameter lainnya tetap konstan selama proses fine-tuning. Di sisi lain, jika train_only_top_layer
is False
, semua parameter model disetel dengan baik. Lihat kode berikut:
Kami menyediakan Kumpulan data PennFudanPed sebagai kumpulan data default untuk menyempurnakan model. Dataset terdiri dari gambar pejalan kaki. Kode berikut menyediakan himpunan data pelatihan default yang dihosting di bucket S3:
Terakhir, untuk meluncurkan tugas pelatihan SageMaker untuk menyempurnakan model, hubungi .fit
pada objek kelas Estimator, saat melewati lokasi S3 dari dataset pelatihan:
Untuk informasi selengkapnya tentang cara menggunakan algoritme deteksi objek SageMaker TensorFlow yang baru untuk mentransfer pembelajaran pada kumpulan data khusus, menerapkan model yang telah disempurnakan, menjalankan inferensi pada model yang diterapkan, dan menerapkan model yang telah dilatih sebelumnya sebagaimana adanya tanpa melakukan penyesuaian terlebih dahulu pada himpunan data khusus, lihat contoh buku catatan berikut: Pengantar SageMaker TensorFlow โ Deteksi Objek.
Antarmuka input/output untuk algoritma deteksi objek TensorFlow
Anda dapat menyempurnakan setiap model pra-latihan yang tercantum di Model TensorFlow untuk setiap dataset tertentu yang terdiri dari gambar milik sejumlah kelas. Tujuannya adalah untuk meminimalkan kesalahan prediksi pada data input. Model yang dikembalikan oleh fine-tuning dapat digunakan lebih lanjut untuk inferensi. Berikut ini adalah instruksi tentang bagaimana data pelatihan harus diformat untuk input ke model:
- Memasukkan โ Direktori dengan gambar subdirektori dan file
annotations.json
. - Keluaran โ Ada dua keluaran. Yang pertama adalah model yang telah disempurnakan, yang dapat diterapkan untuk inferensi atau dilatih lebih lanjut menggunakan pelatihan tambahan. Kedua adalah file yang memetakan indeks kelas ke label kelas; ini disimpan bersama dengan modelnya.
Direktori masukan akan terlihat seperti contoh berikut:
Grafik annotations.json
file harus memiliki informasi untuk bounding_boxes
dan label kelas mereka. Itu harus memiliki kamus dengan kuncinya "images"
dan "annotations"
. Nilai untuk "images"
kuncinya harus berupa daftar entri, satu untuk setiap gambar formulir {"file_name": image_name, "height": height, "width": width, "id": image_id}
. Nilai dari "annotations"
kuncinya harus berupa daftar entri, satu untuk setiap kotak pembatas formulir {"image_id": image_id, "bbox": [xmin, ymin, xmax, ymax], "category_id": bbox_label}
.
Inferensi dengan algoritma deteksi objek TensorFlow
Model yang dihasilkan dapat dihosting untuk inferensi dan mendukung format gambar .jpg, .jpeg, dan .png yang dikodekan sebagai application/x-image
Jenis konten. Gambar masukan diubah ukurannya secara otomatis. Outputnya berisi kotak, kelas prediksi, dan skor untuk setiap prediksi. Model deteksi objek TensorFlow memproses satu gambar per permintaan dan hanya menghasilkan satu baris di JSON. Berikut ini contoh respon di JSON:
If accept
diatur ke application/json
, maka model hanya mengeluarkan kotak, kelas, dan skor yang diprediksi. Untuk detail selengkapnya tentang pelatihan dan inferensi, lihat contoh buku catatan Pengantar SageMaker TensorFlow โ Deteksi Objek.
Gunakan algoritme bawaan SageMaker melalui UI JumpStart
Anda juga dapat menggunakan deteksi objek SageMaker TensorFlow dan algoritma bawaan lainnya hanya dengan beberapa klik melalui JumpStart UI. JumpStart adalah fitur SageMaker yang memungkinkan Anda melatih dan menerapkan algoritme bawaan dan model terlatih dari berbagai kerangka kerja ML dan hub model melalui antarmuka grafis. Hal ini juga memungkinkan Anda untuk menerapkan solusi ML lengkap yang menyatukan model ML dan berbagai layanan AWS lainnya untuk menyelesaikan kasus penggunaan yang ditargetkan.
Berikut adalah dua video yang menunjukkan bagaimana Anda dapat mereplikasi proses penyempurnaan dan penerapan yang sama yang baru saja kami lalui dengan beberapa klik melalui UI JumpStart.
Sempurnakan model yang telah dilatih sebelumnya
Berikut adalah proses untuk menyempurnakan model deteksi objek terlatih yang sama.
Deploy model yang telah disempurnakan
Setelah pelatihan model selesai, Anda dapat langsung men-deploy model ke endpoint real-time yang persisten dengan satu klik.
Kesimpulan
Dalam postingan ini, kami mengumumkan peluncuran algoritma bawaan deteksi objek SageMaker TensorFlow. Kami memberikan contoh kode tentang cara melakukan pembelajaran transfer pada kumpulan data khusus menggunakan model terlatih dari TensorFlow menggunakan algoritme ini.
Untuk informasi lebih lanjut, lihat dokumentasi dan contoh notebook.
Tentang penulis
Dr Vivek Madan adalah Ilmuwan Terapan dengan Tim JumpStart Amazon SageMaker. Ia memperoleh gelar PhD dari University of Illinois di Urbana-Champaign dan merupakan Peneliti Pasca Doktoral di Georgia Tech. Dia adalah peneliti aktif dalam pembelajaran mesin dan desain algoritma dan telah menerbitkan makalah di konferensi EMNLP, ICLR, COLT, FOCS, dan SODA.
Joรฃo Moura adalah Arsitek Solusi Spesialis AI/ML di Amazon Web Services. Dia sebagian besar berfokus pada kasus penggunaan NLP dan membantu pelanggan mengoptimalkan pelatihan dan penerapan model pembelajaran mendalam. Dia juga merupakan pendukung aktif solusi ML kode rendah dan perangkat keras khusus ML.
Dr Ashish Khetan adalah Ilmuwan Terapan Senior dengan Algoritme bawaan Amazon SageMaker dan membantu mengembangkan algoritme pembelajaran mesin. Dia mendapatkan gelar PhD dari University of Illinois Urbana Champaign. Dia adalah peneliti aktif dalam pembelajaran mesin dan inferensi statistik dan telah menerbitkan banyak makalah di konferensi NeurIPS, ICML, ICLR, JMLR, ACL, dan EMNLP.
- AI
- ai seni
- generator seni ai
- punya robot
- Amazon SageMaker
- kecerdasan buatan
- sertifikasi kecerdasan buatan
- kecerdasan buatan dalam perbankan
- robot kecerdasan buatan
- robot kecerdasan buatan
- perangkat lunak kecerdasan buatan
- Pembelajaran Mesin AWS
- blockchain
- konferensi blockchain
- kecerdasan
- kecerdasan buatan percakapan
- konferensi kripto
- dall's
- belajar mendalam
- Dasar (100)
- google itu
- Mesin belajar
- plato
- plato ai
- Kecerdasan Data Plato
- Permainan Plato
- Data Plato
- permainan plato
- skala ai
- sintaksis
- zephyrnet.dll