Halaman ini menunjukkan cara melatih model deteksi objek AutoML dari set data gambar menggunakan Konsol Google Cloud atau API Vertex AI.
Melatih model AutoML
Konsol Google Cloud
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Datasets.
Klik nama set data yang ingin Anda gunakan untuk melatih model agar dapat membuka halaman detailnya.
Klik Train new model.
Untuk metode pelatihan, pilih
AutoML.Di bagian Choose location to use the model, pilih lokasi host model:
Cloud, Edge, atau Vertex AI Vision.Klik Lanjutkan.
Masukkan nama untuk model.
Jika Anda ingin menetapkan pemisahan data pelatihan secara manual, luaskan Advanced options dan pilih opsi pemisahan data. Pelajari lebih lanjut.
Klik Start Training.
Pelatihan model dapat memerlukan waktu berjam-jam, bergantung pada ukuran dan kompleksitas data serta anggaran pelatihan, jika Anda menentukannya. Anda dapat menutup tab ini dan kembali membukanya lagi di lain waktu. Anda akan menerima email saat model telah menyelesaikan pelatihan.
API
Pilih tab di bawah ini untuk bahasa atau lingkungan Anda:
REST
Sebelum menggunakan permintaan data mana pun, buat pengganti berikut:
- LOCATION: Region tempat set data berada dan Model dibuat. Misalnya,
us-central1
. - PROJECT: Project ID Anda.
- TRAININGPIPELINE_DISPLAYNAME: Wajib diisi. Nama tampilan untuk trainingPipeline.
- DATASET_ID: Nomor ID set data yang akan digunakan untuk pelatihan.
fractionSplit
: Opsional. Salah satu dari beberapa kemungkinan ML menggunakan opsi terpisah untuk data Anda. UntukfractionSplit
, nilai harus berjumlah 1. Misalnya:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: Nama tampilan untuk model yang diupload (dibuat) oleh TrainingPipeline.
- MODEL_DESCRIPTION*: Deskripsi model.
- modelToUpload.labels*: Kumpulan key-value pair apa pun untuk mengatur model Anda. Misalnya:
- "env": "prod"
- "tier": "backend"
- MODELTYPE†: Jenis model yang dihosting di Cloud untuk dilatih. Opsinya adalah:
CLOUD_1
- Model yang paling disesuaikan untuk digunakan dalam Google Cloud, dan yang tidak dapat diekspor. Dibandingkan dengan model CLOUD_High_ACCURACY_1 dan CLOUD_LOW_LATENCY_1 di atas, model ini diharapkan memiliki kualitas prediksi yang lebih tinggi dan latensi yang lebih rendah.CLOUD_HIGH_ACCURACY_1
- Model yang paling disesuaikan untuk digunakan dalam Google Cloud, dan yang tidak dapat diekspor. Model ini diharapkan memiliki latensi yang lebih tinggi, tetapi juga harus memiliki kualitas prediksi yang lebih tinggi daripada model cloud lainnya.CLOUD_LOW_LATENCY_1
- Model yang paling disesuaikan untuk digunakan dalam Google Cloud, dan yang tidak dapat diekspor. Model ini diharapkan memiliki latensi rendah, tetapi mungkin memiliki kualitas prediksi yang lebih rendah daripada model cloud lainnya.
- NODE_HOUR_BUDGET†: Biaya pelatihan yang sebenarnya akan sama atau kurang dari nilai ini. Untuk model Cloud, anggarannya harus: 20.000 - 900.000 mili jam kerja node (inklusif). Nilai defaultnya adalah 216.000 yang mewakili satu hari dalam waktu proses, dengan asumsi 9 node digunakan.
- PROJECT_NUMBER: Nomor project project Anda yang dibuat secara otomatis
* | Deskripsi file skema yang Anda tentukan di trainingTaskDefinition menjelaskan penggunaan kolom ini. |
† | File skema yang Anda tentukan dalam trainingTaskDefinition mendeklarasikan dan mendeskripsikan kolom ini. |
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Isi JSON permintaan:
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "DECIMAL", "validationFraction": "DECIMAL", "testFraction": "DECIMAL" } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_object_detection_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["MODELTYPE"], "budgetMilliNodeHours": NODE_HOUR_BUDGET } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
Respons ini berisi informasi tentang spesifikasi serta TRAININGPIPELINE_ID.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk informasi selengkapnya, lihat Dokumentasi referensi Python API.
Mengontrol pemisahan data menggunakan REST
Anda dapat mengontrol pembagian data pelatihan antara set pelatihan, validasi, dan pengujian. Saat menggunakan Vertex AI API, gunakan objek Split
untuk menentukan pembagian data Anda. Objek Split
dapat disertakan dalam objek InputConfig
sebagai salah satu dari beberapa jenis objek, yang masing-masing memberikan cara berbeda untuk memisahkan data pelatihan. Anda hanya dapat memilih satu metode.
-
FractionSplit
:- TRAINING_FRACTION: Bagian dari data pelatihan yang akan digunakan untuk set pelatihan.
- VALIDATION_FRACTION: Bagian dari data pelatihan yang akan digunakan untuk set validasi. Tidak digunakan untuk data video.
- TEST_FRACTION: Bagian dari data pelatihan yang akan digunakan untuk set pengujian.
Jika ada satu pecahan yang ditentukan, semua pecahan harus ditentukan. Jumlah pecahan tersebut harus 1,0. Nilai default untuk pecahan berbeda-beda, bergantung pada jenis data Anda. Pelajari lebih lanjut.
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: Item data yang cocok dengan filter ini digunakan untuk set pelatihan.
- VALIDATION_FILTER: Item data yang cocok dengan filter ini digunakan untuk set validasi. Harus berupa "-" untuk data video.
- TEST_FILTER: Item data yang cocok dengan filter ini digunakan untuk set pengujian.
Filter ini dapat digunakan dengan label ml_use
, atau dengan label apa pun yang Anda terapkan pada data. Pelajari lebih lanjut cara menggunakan label ml-use dan label lainnya untuk memfilter data Anda.
Contoh berikut menunjukkan cara menggunakan objek filterSplit
dengan label ml_use
, dengan menyertakan set validasi:
"filterSplit": { "trainingFilter": "labels.aiplatform.googleapis.com/ml_use=training", "validationFilter": "labels.aiplatform.googleapis.com/ml_use=validation", "testFilter": "labels.aiplatform.googleapis.com/ml_use=test" }