Halaman ini membahas penayangan prediksi dari model klasifikasi gambar Anda dan melihat prediksi ini di aplikasi web.
Tutorial ini memiliki beberapa halaman:Menyajikan prediksi dari model klasifikasi gambar kustom.
Setiap halaman mengasumsikan bahwa Anda telah menjalankan petunjuk dari halaman tutorial sebelumnya.
Bagian selanjutnya dari dokumen ini mengasumsikan bahwa Anda menggunakan lingkungan Cloud Shell yang sama dengan yang Anda buat saat mengikuti halaman pertama tutorial ini. Jika sesi Cloud Shell asli Anda tidak lagi terbuka, Anda dapat kembali ke lingkungan dengan melakukan tindakan berikut:-
Di konsol Google Cloud, aktifkan Cloud Shell.
-
Dalam sesi Cloud Shell, jalankan perintah berikut:
cd hello-custom-sample
Membuat endpoint
Untuk mendapatkan prediksi online dari model ML yang Anda latih saat mengikuti halaman sebelumnya pada tutorial ini, buat endpoint Vertex AI. Endpoint menyajikan prediksi online dari satu atau beberapa model.
Di Konsol Google Cloud, di bagian Vertex AI, buka halaman Model.
Temukan baris model yang Anda latih di langkah sebelumnya pada tutorial ini,
hello_custom
, dan klik nama model untuk membuka halaman detail model.Pada tab Deploy & uji, klik Deploy ke endpoint untuk membuka panel Deploy ke endpoint.
Pada langkah Menentukan endpoint, tambahkan beberapa informasi dasar untuk endpoint:
Pilih Buat endpoint baru.
Di kolom Nama endpoint, masukkan
hello_custom
.Di bagian Setelan model, pastikan Anda melihat nama model, yang juga disebut
hello_custom
. Tentukan setelan model berikut:Di kolom Pemisahan traffic, masukkan
100
. Vertex AI mendukung pemisahan traffic untuk sebuah endpoint menjadi beberapa model, tetapi tutorial ini tidak menggunakan fitur tersebut.Di kolom Jumlah node komputasi minimum, masukkan
1
.Dalam menu drop-down Jenis mesin, pilih n1-standard-2 dari bagian Standar.
Klik Selesai.
Di bagian Logging, pastikan kedua jenis logging prediksi diaktifkan.
Klik Lanjutkan.
Pada langkah Detail endpoint, konfirmasi bahwa endpoint Anda akan di-deploy ke
us-central1 (Iowa)
.Jangan centang kotak Gunakan kunci enkripsi yang dikelola pelanggan (CMEK). Tutorial ini tidak menggunakan CMEK.
Klik Deploy untuk membuat endpoint dan men-deploy model Anda ke endpoint.
Setelah beberapa menit,
akan muncul di samping endpoint baru dalam tabel Endpoint. Pada saat yang sama, Anda juga akan menerima email yang menunjukkan bahwa Anda telah berhasil membuat endpoint dan men-deploy model ke endpoint.Men-deploy fungsi Cloud Run
Anda bisa mendapatkan prediksi dari endpoint Vertex AI yang baru saja
dibuat dengan mengirim permintaan ke antarmuka REST Vertex AI API. Namun, hanya
akun utama dengan izin
aiplatform.endpoints.predict
yang dapat mengirim permintaan prediksi online. Anda
tidak dapat membuat endpoint menjadi publik agar dapat dikirimi permintaan siapa pun, misalnya melalui
aplikasi web.
Di bagian ini, deploy kode ke fungsi Cloud Run untuk menangani
permintaan yang tidak diautentikasi. Kode contoh yang Anda download saat membaca
halaman pertama tutorial ini berisi kode untuk
fungsi Cloud Run ini dalam direktori function/
. Anda juga dapat menjalankan
perintah berikut untuk mempelajari kode fungsi Cloud Run:
less function/main.py
Men-deploy fungsi memiliki fungsi berikut:
Anda dapat mengonfigurasi fungsi Cloud Run untuk menerima permintaan yang tidak diautentikasi. Selain itu, fungsi dijalankan menggunakan akun layanan dengan peran Editor secara default, yang menyertakan izin
aiplatform.endpoints.predict
yang diperlukan untuk mendapatkan prediksi dari endpoint Vertex AI Anda.Fungsi ini juga melakukan pra-pemrosesan yang berguna terhadap permintaan. Endpoint Vertex AI mengharapkan permintaan prediksi dalam format lapisan pertama grafik TensorFlow Keras terlatih: tensor float yang dinormalisasi dengan dimensi tetap. Fungsi ini mengambil URL gambar sebagai input dan memproses gambar sebelumnya ke dalam format ini sebelum meminta prediksi dari endpoint Vertex AI.
Untuk men-deploy fungsi Cloud Run, lakukan hal berikut:
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Endpoint.
Temukan baris endpoint yang Anda buat di bagian sebelumnya, yang bernama
hello_custom
. Di baris ini, klik Permintaan contoh untuk membuka panel Permintaan contoh.Di panel Permintaan contoh, temukan baris kode shell yang cocok dengan pola berikut:
ENDPOINT_ID="ENDPOINT_ID"
ENDPOINT_ID adalah angka yang mengidentifikasi endpoint khusus ini.
Salin baris kode ini, lalu jalankan di sesi Cloud Shell Anda untuk menetapkan variabel
ENDPOINT_ID
.Jalankan perintah berikut dalam sesi Cloud Shell Anda untuk men-deploy fungsi Cloud Run:
gcloud functions deploy classify_flower \ --region=us-central1 \ --source=function \ --runtime=python37 \ --memory=2048MB \ --trigger-http \ --allow-unauthenticated \ --set-env-vars=ENDPOINT_ID=${ENDPOINT_ID}
Men-deploy aplikasi web untuk mengirim permintaan prediksi
Terakhir, hosting aplikasi web statis di Cloud Storage untuk mendapatkan prediksi dari model ML terlatih Anda. Aplikasi web mengirimkan permintaan ke fungsi Cloud Run Anda, yang melakukan pra-pemrosesan dan mendapatkan prediksi dari endpoint Vertex AI.
Direktori webapp
kode contoh yang Anda download berisi aplikasi web
contoh. Di sesi Cloud Shell Anda, jalankan perintah
berikut untuk menyiapkan dan men-deploy aplikasi web:
Tetapkan beberapa variabel shell untuk perintah dalam langkah berikut yang akan digunakan:
PROJECT_ID=PROJECT_ID BUCKET_NAME=BUCKET_NAME
Ganti kode berikut:
- PROJECT_ID: project ID Google Cloud Anda.
- BUCKET_NAME: Nama bucket Cloud Storage yang Anda buat saat mengikuti halaman pertama tutorial ini.
Edit aplikasi untuk memberinya URL pemicu fungsi Cloud Run Anda:
echo "export const CLOUD_FUNCTION_URL = 'https://us-central1-${PROJECT_ID}.cloudfunctions.net/classify_flower';" \ > webapp/function-url.js
Upload direktori
webapp
ke bucket Cloud Storage Anda:gcloud storage cp webapp gs://${BUCKET_NAME}/ --recursive
Buat file aplikasi web yang baru saja Anda upload dapat dibaca secara publik:
gcloud storage objects update gs://${BUCKET_NAME}/webapp/** --add-acl-grant=entity=allUsers,role=READER
Sekarang Anda dapat membuka URL berikut untuk membuka aplikasi web dan mendapatkan prediksi:
https://storage.googleapis.com/BUCKET_NAME/webapp/index.html
Buka aplikasi web, lalu klik gambar bunga untuk melihat klasifikasi jenis bunga ML Anda. Aplikasi web menampilkan prediksi sebagai daftar jenis bunga dan probabilitas bahwa gambar berisi setiap jenis bunga.
Langkah berikutnya
Ikuti halaman terakhir tutorial untuk membersihkan resource yang telah dibuat.