Anda dapat membuat model kustom dengan melatihnya menggunakan set data yang telah disiapkan. AutoML API menggunakan item dari set data untuk melatih, menguji, dan evaluate performa model. Anda akan meninjau hasilnya, menyesuaikan set data pelatihan sesuai kebutuhan, dan melatih model baru menggunakan set data yang ditingkatkan.
Melatih model dapat memakan waktu beberapa jam untuk diselesaikan. AutoML API memungkinkan Anda untuk memeriksa status pelatihan.
Karena AutoML Vision membuat model baru setiap kali Anda memulai pelatihan, project Anda mungkin akan mencakup banyak model. Anda bisa mendapatkan daftar model dalam project dan Anda dapat menghapus model yang tidak lagi Anda perlukan. Atau, Anda dapat menggunakan UI Cloud AutoML Vision untuk mencantumkan dan menghapus model yang dibuat melalui AutoML API yang tidak diperlukan lagi.
Model didasarkan pada penelitian mutakhir di Google. Model Anda akan tersedia sebagai paket TF Lite. Untuk mengetahui informasi selengkapnya tentang cara mengintegrasikan model TensorFlow Lite menggunakan TensorFlow Lite SDK, lihat link berikut untuk iOS dan Android.
Melatih model Edge
Jika telah memiliki set data dengan sekumpulan item pelatihan berlabel yang solid, Anda siap untuk membuat dan melatih model Edge kustom.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi dokumentasi referensi AutoML Vision untuk .NET.
PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi dokumentasi referensi AutoML Vision untuk PHP.
Ruby : Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi dokumentasi referensi AutoML Vision untuk Ruby.
TensorFlow serving dan model TF Lite
Pada waktu pelatihan, Anda dapat memilih jenis model Edge yang diinginkan, bergantung pada kasus penggunaan spesifik Anda:
- Latensi rendah (
mobile-low-latency-1
) - penggunaan tujuan umum (
mobile-versatile-1
) - kualitas prediksi lebih tinggi (
mobile-high-accuracy-1
)
UI web
-
Buka Vision Dashboard.
Halaman Set data menampilkan set data yang tersedia untuk project saat ini.
- Pilih set data yang ingin Anda gunakan untuk melatih model kustom.
-
Jika set data sudah siap, pilih tab Train dan tombol Train new model .
Tindakan ini akan membuka jendela samping "Train new model" dengan opsi pelatihan.
- Pada bagian pelatihan Define your model ubah nama model (atau gunakan nilai default) dan pilih radio_button_checked Edge sebagai jenis model. Setelah memilih untuk melatih model Edge, pilih Lanjutkan.
-
Pada bagian Optimalkan model untuk , pilih kriteria pengoptimalan yang diinginkan: radio_button_checked Akurasi lebih tinggi, Pertukaran terbaik, atau Prediksi lebih cepat. Setelah memilih spesifikasi pengoptimalan pilih Lanjutkan.
-
Pada bagian Tetapkan anggaran jam kerja node berikut, gunakan anggaran jam kerja node yang direkomendasikan, atau tentukan nilai yang berbeda.
Secara default, 24 jam kerja node seharusnya cukup bagi sebagian besar set data untuk melatih model Anda. Nilai yang direkomendasikan ini adalah estimasi untuk membuat model yang digabungkan sepenuhnya. Namun, Anda dapat memilih jumlah lain. Jumlah minimum jam kerja node untuk Klasifikasi Gambar adalah 8. Untuk Deteksi Objek jumlah minimumnya adalah 20.
-
PilihMulai pelatihan untuk memulai pelatihan model.
Melatih model dapat memakan waktu beberapa jam untuk diselesaikan. Setelah model berhasil dilatih, Anda akan menerima pesan di alamat email yang Anda gunakan untuk project Google Cloud Platform.
REST
Saat melatih model Edge, Anda dapat menentukan tiga nilai yang berbeda di kolom modelType
bergantung pada kebutuhan Anda:
mobile-low-latency-1
untuk latensi rendahmobile-versatile-1
untuk penggunaan tujuan umummobile-high-accuracy-1
untuk kualitas prediksi yang lebih tinggi
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID GCP Anda.
- display-name: nama tampilan string pilihan Anda.
- dataset-id: ID set data Anda. ID adalah elemen terakhir dari nama
set data Anda. Contoh:
- nama set data:
projects/project-id/locations/location-id/datasets/3104518874390609379
- id set data:
3104518874390609379
- nama set data:
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Isi JSON permintaan:
{ "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1" } }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models" | Select-Object -Expand Content
Anda akan melihat output yang serupa dengan berikut ini: Anda dapat menggunakan ID operasi
(dalam contoh ini, ICN2106290444865378475
) untuk mendapatkan status tugas tersebut. Sebagai
contoh, lihat Bekerja dengan operasi yang berjalan lama.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN2106290444865378475", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-10-30T20:06:08.253243Z", "updateTime": "2019-10-30T20:06:08.253243Z", "createModelDetails": {} } }
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Daftar status operasi
Gunakan contoh kode berikut untuk mencantumkan operasi project Anda, dan memfilter hasilnya.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: Project ID GCP Anda.
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations" | Select-Object -Expand Content
Output yang Anda lihat akan bervariasi, bergantung pada operasi yang Anda minta
Anda juga akan memfilter operasi yang ditampilkan menggunakan parameter kueri tertentu
(operationId
, done
, dan worksOn
). Contohnya,
Untuk menampilkan daftar operasi yang telah berjalan, ubah URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations?filter="done=true"
Go
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Java
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Node.js
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Python
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Deteksi Objek Vision AutoML untuk .NET.
PHP : Ikuti petunjuk penyiapan PHP di halaman library klien, lalu kunjungi dokumentasi referensi Deteksi Objek AutoML Vision untuk PHP.
Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Deteksi Objek AutoML Vision untuk Ruby.
Bekerja dengan operasi yang berjalan lama
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID GCP Anda.
- operation-id: ID operasi Anda. ID tersebut adalah elemen terakhir dari nama
operasi Anda. Contoh:
- nama operasi:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID Operasi:
IOD5281059901324392598
- nama operasi:
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2018-10-29T15:56:29.176485Z", "updateTime": "2018-10-29T16:10:41.326614Z", "importDataDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Anda akan melihat output yang mirip dengan hal berikut ini untuk membuat operasi model yang telah selesai:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T18:35:06.881193Z", "updateTime": "2019-07-22T19:58:44.972235Z", "createModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Model", "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID" } }
Go
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Java
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Node.js
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Python
Sebelum mencoba sampel ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman API & Referensi > Library Klien.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi dokumentasi referensi AutoML Vision untuk .NET.
PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi dokumentasi referensi AutoML Vision untuk PHP.
Ruby : Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi dokumentasi referensi AutoML Vision untuk Ruby.
Membatalkan operasi
Anda dapat membatalkan tugas impor atau pelatihan menggunakan ID operasi.
REST
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID GCP Anda.
- operation-id: ID operasi Anda. ID tersebut adalah elemen terakhir dari nama
operasi Anda. Contoh:
- nama operasi:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID Operasi:
IOD5281059901324392598
- nama operasi:
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel" | Select-Object -Expand Content
{}
Mendapatkan informasi tentang model
Gunakan contoh kode berikut untuk mendapatkan informasi tentang model terlatih tertentu. Anda dapat menggunakan informasi yang ditampilkan dari permintaan ini untuk mengubah mode atau mengirim permintaan prediksi.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: Project ID GCP Anda.
- model-id: ID model Anda, dari
respons saat membuat model. ID adalah elemen terakhir dari nama model Anda.
Misalnya:
- nama model:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- id model:
IOD4412217016962778756
- nama model:
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID", "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "createTime": "2019-10-30T20:06:08.253243Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-10-30T20:54:50.472328Z", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1", "nodeQps": 3.2 } }
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Deteksi Objek Vision AutoML untuk .NET.
PHP : Ikuti petunjuk penyiapan PHP di halaman library klien, lalu kunjungi dokumentasi referensi Deteksi Objek AutoML Vision untuk PHP.
Ruby : Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi dokumentasi referensi Deteksi Objek AutoML Vision untuk Ruby.
Pelatihan yang dapat dilanjutkan
Anda sekarang dapat menjeda dan melanjutkan pelatihan model kustom untuk set data besar (dengan lebih dari
seribu gambar). Menjeda pelatihan model bukanlah tindakan manual yang melibatkan tombol jeda.
Sebagai gantinya, pengguna dapat menetapkan anggaran jam kerja node ke waktu yang ditentukan, misalnya dua jam.
Setelah waktunya tercapai, pelatihan akan berhenti secara otomatis terlepas dari status modelnya.
Pelatihan yang dapat dilanjutkan tersedia dengan batasan berikut:
- Batas waktu model dasar - Anda dapat melanjutkan pelatihan hanya pada model yang telah dilatih dalam 14 hari terakhir; model dasar yang dibuat lebih dari 14 hari sebelum permintaan Anda tidak memenuhi syarat untuk diberi pelatihan yang dapat dilanjutkan.
- Tidak ada modifikasi label - Pelatihan yang dapat dilanjutkan akan gagal jika Anda mengubah label dalam set data model dasar.
- Tidak ada jaminan performa yang lebih baik - Menggunakan pelatihan yang dapat dilanjutkan pada suatu model tidak menjamin bahwa performa model akan menjadi lebih baik.
UI web
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
-
Buka AutoML Vision UI
Halaman Set data menampilkan set data yang tersedia untuk project saat ini.
Pilih set data yang ingin Anda gunakan untuk melatih model kustom.
Nama tampilan set data yang dipilih akan muncul di panel judul, dan halaman akan mencantumkan setiap item dalam set data beserta labelnya.
Setelah selesai meninjau set data, pilih tab Latih tepat di bawah panel judul.
Jika sebelumnya Anda telah melatih model, model tersebut akan muncul dalam daftar di tab ini.
Jika pelatihan yang dapat dilanjutkan tersedia untuk suatu model, pelatihan tersebut akan muncul sebagai opsi di dekat opsi Lihat evaluasi lengkap.
Pilih Lanjutkan pelatihan untuk melanjutkan pelatihan pada model yang digunakan.
Serupa dengan melatih model asli, memilih Lanjutkan pelatihan akan membuka jendela samping "Latih model baru". Di bagian Menentukan model Anda, Anda dapat mengubah nama model baru. Anda juga akan melihat nama model dasar yang digunakan untuk melatih model ini.
Setelah menentukan model, pilih Lanjutkan untuk melanjutkan ke bagian berikutnya.
Di bagian Tetapkan anggaran jam kerja node berikut, tentukan anggaran jam kerja node. Anggaran ini mengikuti struktur pricing dan pembatasan kuota yang mirip dengan pelatihan model awal.
Setelah menentukan anggaran pelatihan, pilih Mulai pelatihan. Anda akan menerima email saat pelatihan yang dapat dilanjutkan telah selesai.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- base-model-id: ID model dasar (yang ada). Model baru dibuat berdasarkan
model dasar ini. Spesifikasi model baru berikut harus cocok dengan model dasar:
- project
- location
-
modelType
*
*
modelType
dasar dan baru akan diperiksa meskipun kolom ini dihilangkan dalam permintaan model baru. - project-id: ID project GCP Anda.
- display-name: nama tampilan string pilihan Anda.
- dataset-id: ID set data Anda. ID adalah elemen terakhir dari nama
set data Anda. Contoh:
- nama set data:
projects/project-id/locations/location-id/datasets/3104518874390609379
- id set data:
3104518874390609379
- nama set data:
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Isi JSON permintaan:
{ "baseModelId": BASE_MODEL_ID, "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1" } }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models" | Select-Object -Expand Content
Anda akan melihat output yang serupa dengan berikut ini: Anda dapat menggunakan ID operasi
(dalam contoh ini, ICN2106290444865378475
) untuk mendapatkan status tugas tersebut. Sebagai
contoh, lihat Bekerja dengan operasi yang berjalan lama.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN2106290444865378475", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-10-30T20:06:08.253243Z", "updateTime": "2019-10-30T20:06:08.253243Z", "createModelDetails": {} } }