Jika bisnis Anda melibatkan klasifikasi gambar, Anda dapat menggunakan komponen Klasifikasi Gambar (torch) dari Platform for AI (PAI) untuk membangun model klasifikasi gambar guna inferensi. Topik ini menjelaskan cara mengonfigurasi komponen tersebut dan memberikan contoh penggunaannya.
Prasyarat
OSS telah diaktifkan, dan Machine Learning Studio diberi otorisasi untuk mengakses OSS. Untuk informasi lebih lanjut, lihat Aktifkan OSS dan Berikan Izin yang Diperlukan untuk Menggunakan Machine Learning Designer.
Batasan
Komponen deteksi pose hanya tersedia di Machine Learning Designer dari Platform for AI (PAI).
Komponen deteksi pose hanya dapat digunakan dengan sumber daya komputasi Deep Learning Containers (DLC) dari PAI.
Informasi latar belakang
Komponen Klasifikasi Gambar (torch) menyediakan berbagai jenis model jaringan saraf konvolusional (CNN) dan transformer serta mendukung algoritma ResNet, ResNeXt, HRNet, ViT, SwinT, dan MobileNet-v2. Komponen ini juga menyediakan model ImageNet yang telah dilatih sebelumnya untuk memfasilitasi penyetelan model.
Anda dapat menemukan komponen Klasifikasi Gambar (torch) di subfolder Offline Training dalam folder Video Algorithm dari pustaka komponen.
Konfigurasikan komponen di konsol PAI
Port Input
Port input (dari kiri ke kanan)
Tipe data
Komponen hulu yang direkomendasikan
Diperlukan
jalur anotasi data untuk pelatihan
OSS
Tidak
jalur anotasi data untuk evaluasi
OSS
Tidak
Parameter Komponen
Tab
Parameter
Diperlukan
Deskripsi
Nilai default
Fields Setting
model type
Ya
Tipe model yang digunakan untuk pelatihan model. Hanya Classification yang didukung.
Klasifikasi
oss dir to save model
Ya
Direktori Object Storage Service (OSS) tempat model pelatihan disimpan. Contoh:
oss://examplebucket/yunji.cjy/designer_test.N/A
oss annotation path for training data
Tidak
Jika Anda tidak menggunakan port input jalur anotasi data untuk pelatihan untuk menentukan data pelatihan berlabel, Anda harus mengonfigurasi parameter ini.
CatatanJika Anda menggunakan port input dan parameter ini untuk menentukan data pelatihan berlabel, nilai yang ditentukan oleh port input akan diutamakan.
Jalur OSS dari data pelatihan berlabel. Contoh:
oss://examplebucket/yunji.cjy/data/imagenet/meta/train_labeled.txt.Setiap catatan data dalam file train_labeled.txt disimpan dalam format
jalur absolut/nama gambar.jpg label_id.PentingPisahkan jalur penyimpanan gambar dan label_id dengan spasi.
PentingKomponen mendukung format berikut: ClsSourceImageList dan ClsSourceItag. Anda dapat menggunakan data yang dilabeli oleh iTAG sebagai input pelatihan.
oss annotation path for evaluation data
Tidak
Jika Anda tidak menggunakan port input jalur anotasi data untuk evaluasi untuk menentukan data evaluasi berlabel, Anda harus mengonfigurasi parameter ini.
CatatanJika Anda menggunakan port input dan parameter ini untuk menentukan data evaluasi berlabel, nilai yang ditentukan oleh port input akan diutamakan.
Jalur OSS dari data evaluasi berlabel. Contoh:
oss://examplebucket/yunji.cjy/data/imagenet/meta/val_labeled.txt.Setiap catatan data dalam file val_labeled.txt disimpan dalam format
jalur absolut/nama gambar.jpg label_id.PentingPisahkan jalur penyimpanan gambar dan label_id dengan spasi.
CatatanKomponen mendukung format berikut: ClsSourceImageList dan ClsSourceItag. Anda dapat menggunakan data yang dilabeli oleh iTAG sebagai input pelatihan.
N/A
class list file
Ya
Parameter class list file menentukan daftar nama kategori gambar. Anda dapat menentukan nama kategori atau jalur file TXT yang menyimpan nama kategori.
Jika Anda menentukan nama kategori, gunakan format berikut:
[nama1,nama2,……]. Pisahkan beberapa nama kategori dengan koma (,). Contoh:[0, 1, 2]dan[person, dog, cat].Jika Anda menentukan jalur file TXT, tambahkan nama kategori ke file TXT, unggah file ke Bucket OSS di wilayah yang sama, lalu tentukan jalur OSS dari file tersebut.
Anda dapat memisahkan nama kategori dalam file TXT dengan koma (,) atau baris baru (\n). Contoh:
0, 1, 2dan0, \n 1, \n 2\n.Jika Anda tidak mengonfigurasi parameter ini, nama kategori mulai dari
str(0)hinggastr(num_classes-1)akan digunakan.num_classesmenunjukkan jumlah kategori.Jika jumlah kategori yang dihasilkan oleh klasifikasi gambar adalah 3, nama kategorinya adalah
0,1,2.
N/A
Data Source Type
Ya
Tipe data input. Nilai valid: ClsSourceImageList dan ClsSourceItag.
ClsSourceItag
oss path for pretrained model
Tidak
Jalur OSS tempat model pra-latih Anda disimpan. Jika Anda memiliki model pra-latih, atur parameter ini ke jalur OSS model pra-latih Anda. Jika Anda tidak mengonfigurasi parameter ini, model pra-latih default yang disediakan oleh PAI akan digunakan.
N/A
Parameters Setting
backbone
Ya
Model backbone yang ingin Anda gunakan. Nilai valid:
resnet
resnext
hrnet
vit
swint
mobilenetv2
inceptionv4
resnet
num classes
Ya
Jumlah kategori dalam data.
N/A
image size after resizing
Ya
Panjang dan lebar ke mana gambar diubah ukurannya. Secara default, panjang dan lebar sama.
224
optimizer
Ya
Metode optimasi untuk pelatihan model. Nilai valid:
SGD
Adam
SGD
initial learning rate
Ya
Tingkat pembelajaran awal.
0.05
learning rate policy
Ya
Kebijakan yang digunakan untuk menyesuaikan tingkat pembelajaran. Hanya step yang didukung. Nilai step menunjukkan bahwa tingkat pembelajaran disesuaikan secara manual pada epoch tertentu.
step
lr step
Ya
Epoch di mana tingkat pembelajaran disesuaikan. Pisahkan beberapa nilai dengan koma (,). Jika jumlah epoch mencapai nilai yang ditentukan oleh parameter ini, tingkat pembelajaran secara otomatis menurun sebesar 90%.
Sebagai contoh, tingkat pembelajaran awal diatur ke 0.1, jumlah total epoch diatur ke 20, dan parameter lr step diatur ke 5,10. Dalam hal ini, ketika pelatihan berada di epoch 1 hingga 5, tingkat pembelajaran adalah 0.1. Ketika pelatihan memasuki epoch 6, tingkat pembelajaran menurun menjadi 0.01 dan terus berlanjut hingga epoch 10 berakhir. Ketika pelatihan memasuki epoch 11, tingkat pembelajaran menurun menjadi 0.001 dan terus berlanjut hingga akhir semua epoch.
[30,60,90]
train batch size
Ya
Ukuran batch pelatihan. Nilainya menunjukkan jumlah sampel data yang digunakan untuk pelatihan model dalam satu iterasi.
2
eval batch size
Ya
Ukuran batch evaluasi. Nilainya menunjukkan jumlah sampel data yang digunakan untuk evaluasi model dalam setiap iterasi.
2
total train epochs
Ya
Jumlah total epoch. Epoch berakhir ketika satu putaran pelatihan selesai pada semua sampel data. Jumlah total epoch menunjukkan jumlah total putaran pelatihan yang dilakukan pada sampel data.
1
save checkpoint epoch
Tidak
Frekuensi penyimpanan checkpoint. Sebagai contoh, nilai 1 menunjukkan bahwa checkpoint disimpan setiap kali epoch berakhir.
1
type of export model
Ya
Format dalam model diekspor. Nilai valid:
raw
onnx
raw
Tuning
number process of reading data per gpu
Tidak
Jumlah thread yang digunakan untuk membaca data pelatihan untuk setiap GPU.
4
use fp 16
Tidak
Menentukan apakah akan mengaktifkan FP16 untuk mengurangi penggunaan memori selama pelatihan model.
N/A
single worker or distributed on DLC
Ya
Mesin komputasi yang digunakan untuk menjalankan komponen. Anda dapat memilih mesin komputasi berdasarkan kebutuhan bisnis Anda. Nilai valid:
single_on_dlc
distribute_on_dlc
single_on_dlc
number of worker
Tidak
Parameter ini diperlukan jika Anda menetapkan parameter pekerja tunggal atau terdistribusi pada DLC ke distribute_on_dlc.
Jumlah pekerja konkuren untuk komputasi.
1
cpu machine type
Tidak
Parameter ini hanya diperlukan jika Anda mentetapkan parameter pekerja tunggal atau terdistribusi pada DLC ke distribute_on_dlc.
Tipe CPU yang ingin Anda gunakan.
16vCPU+64GB Mem-ecs.g6.4xlarge
gpu machine type
Ya
Tipe GPU yang ingin Anda gunakan.
8vCPU+60GB Mem+1xp100-ecs.gn5-c8g1.2xlarge
Port Output
Port Keluaran
Tipe data
Komponen hilir
model output
Direktori OSS tempat model output disimpan. Nilainya sama dengan yang Anda tentukan untuk parameter oss dir to save model pada tab Fields Setting.
Contoh
Gambar berikut menunjukkan contoh pipeline di mana komponen Klasifikasi Gambar (torch) digunakan.
Dalam contoh ini, konfigurasikan komponen pada gambar sebelumnya dengan langkah-langkah berikut:
Siapkan data. Labeli gambar menggunakan iTAG. Untuk informasi lebih lanjut, lihat iTAG.
Gunakan komponen Read File Data-1 dan Read File Data-2 untuk membaca data pelatihan berlabel dan data evaluasi berlabel. Untuk melakukannya, atur parameter OSS Data Path dari komponen-komponen tersebut ke jalur OSS data yang ingin Anda ambil.
PentingAtur parameter Data Source Type ke ClsSourceItag.
Tarik garis dari dua komponen sebelumnya ke komponen image classification (torch)-1 dan konfigurasikan komponen image classification (torch)-1. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan Komponen di Machine Learning Designer" dari topik ini.
Gunakan komponen Read File Data-3 untuk membaca data prediksi. Untuk melakukannya, atur parameter OSS Data Path dari komponen Read File Data-3 ke jalur OSS data prediksi yang ingin Anda ambil.
Gunakan komponen image prediction-1 untuk melakukan inferensi batch. Untuk melakukannya, konfigurasikan parameter berikut untuk komponen prediksi gambar-1. Untuk informasi lebih lanjut, lihat Prediksi Gambar.
model type: Pilih torch_classifier.
oss path for model: Pilih nilai yang ditentukan untuk parameter oss dir to save model dari komponen image classification (torch)-1.