Mengekspor model Edge

Setelah membuat (melatih) sebuah model, Anda dapat mengekspor model kustom.

Setelah mengekspor model, Anda kemudian dapat men-deploy model tersebut ke sebuah perangkat.

Anda dapat mengekspor model klasifikasi gambar dalam format Tensorflow Lite umum, format TensorFlow umum, atau format TensorFlow.js untuk Web ke lokasi Google Cloud Storage menggunakan ExportModel API.

Mengekspor ke perangkat

Model TensorFlow Lite

UI Web

  1. Buka UI Deteksi Objek AutoML Vision lalu klik ikon bola lampu di menu navigasi sebelah kiri untuk menampilkan model yang tersedia.

    Untuk menampilkan model untuk project yang berbeda, pilih project dari menu drop-down di kanan atas batang judul.

  2. Pilih baris untuk model yang ingin Anda gunakan untuk memberi label pada gambar.

  3. Pilih tab Pengujian dan Penggunaan.

  4. Di bagian Gunakan model Anda, pilih kartu TF Lite. Ini akan membuka jendela "Gunakan model di perangkat Anda" di bagian samping.

    Ekspor gambar opsi model TF Lite

  5. Di jendela samping, tentukan lokasi output Google Cloud Storage. Setelah memilih lokasi penyimpanan untuk output model Anda, Pilih Ekspor untuk memulai operasi ekspor model.

    Pilih lokasi penyimpanan untuk model gambar yang diekspor

  6. Setelah mengekspor, anda dapat memilih opsi "Buka di Google Cloud Storage" di jendela yang sama untuk langsung menuju ke direktori ekspor di Google Cloud Storage.

REST

Di kolom "modelFormat", tentukan "tflite" (default).

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
  • output-storage-bucket: sebuah bucket/direktori Google Cloud Storage untuk menyimpan file output, yang dinyatakan dalam bentuk berikut: gs://bucket/directory/. Pengguna yang membuat permintaan harus memiliki izin tulis ke bucket.

Metode HTTP dan URL:

POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export

Isi JSON permintaan:

{
  "outputConfig": {
    "modelFormat": "tflite",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/"
    },
  }
}

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/MODEL_ID:export"

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/MODEL_ID:export" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-07-22T21:23:21.643041Z",
    "updateTime": "2019-07-22T21:23:21.643041Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/iod/tflite-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ"
      }
    }
  }
}

Sebagai hasilnya, Anda akan melihat sebuah struktur folder di dalam direktori yang telah Anda sediakan (CLOUD_STORAGE_BUCKET/[DIRECTORY]). Struktur folder yang telah dibuat akan mempunyai format umum seperti berikut (stempel waktu dalam format ISO-8601):

  • CLOUD_STORAGE_BUCKET/model-export/iod/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ

Contoh:

  • CLOUD_STORAGE_BUCKET/model-export/iod/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
  • CLOUD_STORAGE_BUCKET/model-export/iod/tflite-DATASET_NAME-2019-07-22T21:23:18.861Z

Folder ini berisi model TensorFlow Lite bernama model.tflite, file label bernama dict.txt, dan file tflite_metadata.json.

Contoh stempel waktu folder

Menggunakan model yang telah diekspor

Setelah mengekspor model ke bucket Google Cloud Storage, Anda dapat men-deploy model AutoML Vision Edge Anda ke Perangkat Android, Perangkat iOS, atau Raspberry Pi 3.

Mengekspor ke container

UI Web

  1. Buka UI Deteksi Objek AutoML Vision lalu klik ikon bola lampu di menu navigasi sebelah kiri untuk menampilkan model yang tersedia.

    Untuk menampilkan model untuk project yang berbeda, pilih project dari menu drop-down di kanan atas batang judul.

  2. Klik baris model yang ingin Anda gunakan untuk memberi label pada gambar.

  3. Pilih tab Pengujian dan Penggunaan.

  4. Di bagian Gunakan model Anda, pilih kartu TF Lite. Ini akan membuka jendela "Gunakan model di perangkat Anda" di bagian samping.

    Ekspor gambar opsi model TF Lite

  5. Di jendela samping, tentukan lokasi output Google Cloud Storage. Setelah memilih lokasi penyimpanan untuk output model Anda, Pilih Ekspor untuk memulai operasi ekspor model.

    Pilih lokasi penyimpanan untuk model gambar yang diekspor

  6. Setelah mengekspor, anda dapat memilih opsi "Buka di Google Cloud Storage" di jendela yang sama untuk langsung menuju ke direktori ekspor di Google Cloud Storage.

REST

Di kolom "modelFormat", tentukan "tf-saved-model".

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
  • output-storage-bucket: sebuah bucket/direktori Google Cloud Storage untuk menyimpan file output, yang dinyatakan dalam bentuk berikut: gs://bucket/directory/. Pengguna yang membuat permintaan harus memiliki izin tulis ke bucket.

Metode HTTP dan URL:

POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export

Isi JSON permintaan:

{
  "outputConfig": {
    "modelFormat": "tf-saved-model",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/"
    },
  }
}

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/MODEL_ID:export"

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/MODEL_ID:export" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-07-22T21:23:21.643041Z",
    "updateTime": "2019-07-22T21:23:21.643041Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/iod/tf-saved-model-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ"
      }
    }
  }
}

Sebagai hasilnya, Anda akan melihat sebuah struktur folder di dalam direktori yang telah Anda sediakan (CLOUD_STORAGE_BUCKET/[DIRECTORY]). Struktur folder yang telah dibuat akan mempunyai format umum seperti berikut (stempel waktu dalam format ISO-8601):

  • CLOUD_STORAGE_BUCKET/model-export/iod/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ

Contoh:

  • CLOUD_STORAGE_BUCKET/model-export/iod/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
  • CLOUD_STORAGE_BUCKET/model-export/iod/tflite-DATASET_NAME-2019-07-22T21:23:18.861Z

Folder ini berisi model TensorFlow bernama saved_model.pb.

Contoh stempel waktu folder

Menggunakan model yang telah diekspor

Setelah mengekspor model ke bucket Google Cloud Storage, Anda dapat menggunakan model yang telah diekspor untuk membuat prediksi di dalam sebuah Docker image. See the Containers tutorial untuk instruksi tentang men-deploy ke container.

Ekspor untuk Web

UI web

  1. Buka Vision Dashboard dan pilih ikon bola lampu di batang navigasi samping untuk menampilkan model-model yang tersedia.

    Untuk melihat model project yang berbeda, pilih project dari menu drop-down di kanan atas batang judul.

  2. Pilih baris untuk model yang ingin Anda gunakan untuk memberi label pada gambar.

  3. Pilih tab Pengujian & Penggunaan tepat di bawah batang judul.

  4. Di bagian Gunakan model Anda, pilih opsi TensorFlow.js. Setelah memilih opsi Tensorflow.js dan menentukan lokasi ekspor pada Cloud Storage di jendela samping, pilih Ekspor untuk mengekspor model TensorFlow.js yang siap untuk Web.

    opsi ekspor Tensorflow.js opsi ekspor Tensorflow.js

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
  • output-storage-bucket: sebuah bucket/direktori Google Cloud Storage untuk menyimpan file output, yang dinyatakan dalam bentuk berikut: gs://bucket/directory/. Pengguna yang membuat permintaan harus memiliki izin tulis ke bucket.

Metode HTTP dan URL:

POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export

Isi JSON permintaan:

{
  "outputConfig": {
    "modelFormat": "tf_js",
    "gcsDestination": {
      "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/"
    },
  }
}

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/MODEL_ID:export"

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/MODEL_ID:export" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata",
    "createTime": "2019-07-22T21:23:21.643041Z",
    "updateTime": "2019-07-22T21:23:21.643041Z",
    "exportModelDetails": {
      "outputInfo": {
        "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/icn/tf_js-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ"
      }
    }
  }
}

Sebagai hasilnya, Anda akan melihat sebuah folder di direktori yang telah Anda sediakan (USER_GCS_PATH). Folder yang dibuat akan diberi nama sesuai dengan stempel waktu dalam format /model-export/icn/tf_js-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ (contohnya, tf_js-edge_model-2019-10-03T17:24:46.999Z).

Folder ini berisi file biner (.bin), file label bernama dict.txt, dan file model.json.

Contoh folder Tensorflow.js