TFX di Cloud AI Platform Pipeline

pengantar

Tutorial ini dirancang untuk memperkenalkan TensorFlow Extended (TFX) dan AIPlatform Pipeline , serta membantu Anda belajar membuat pipeline machine learning Anda sendiri di Google Cloud. Ini menunjukkan integrasi dengan TFX, AI Platform Pipelines, dan Kubeflow, serta interaksi dengan TFX di notebook Jupyter.

Di akhir tutorial ini, Anda akan membuat dan menjalankan ML Pipeline, yang dihosting di Google Cloud. Anda akan dapat memvisualisasikan hasil setiap proses, dan melihat garis keturunan artefak yang dibuat.

Anda akan mengikuti proses pengembangan ML biasa, dimulai dengan memeriksa set data, dan berakhir dengan alur kerja yang lengkap. Sepanjang jalan Anda akan menjelajahi cara untuk men-debug dan memperbarui saluran Anda, dan mengukur kinerja.

Kumpulan Data Taksi Chicago

TaksiTaksi Chicago

Anda menggunakan kumpulan data Taxi Trips yang dirilis oleh City of Chicago.

Anda dapat membaca lebih lanjut tentang kumpulan data di Google BigQuery . Jelajahi set data lengkap di UI BigQuery .

Sasaran Model - Klasifikasi biner

Akankah tip pelanggan lebih atau kurang dari 20%?

1. Siapkan proyek Google Cloud

1.a Siapkan lingkungan Anda di Google Cloud

Untuk memulai, Anda memerlukan Akun Google Cloud. Jika Anda sudah memilikinya, lanjutkan ke Create New Project .

  1. Buka Google Cloud Console .

  2. Setujui persyaratan dan ketentuan Google Cloud

  3. Jika Anda ingin memulai dengan akun percobaan gratis, klik Coba Gratis (atau Mulai gratis ).

    1. Pilih negaramu.

    2. Setuju dengan persyaratan layanan.

    3. Masukkan detail penagihan.

      Anda tidak akan dikenakan biaya pada saat ini. Jika Anda tidak memiliki proyek Google Cloud lain, Anda dapat menyelesaikan tutorial ini tanpa melebihi batas Tingkat Gratis Google Cloud , yang mencakup maksimal 8 core yang berjalan pada waktu yang sama.

1.b Buat proyek baru.

  1. Dari dasbor utama Google Cloud , klik tarik-turun proyek di samping header Google Cloud Platform , dan pilih Proyek Baru .
  2. Beri nama proyek Anda dan masukkan detail proyek lainnya
  3. Setelah Anda membuat proyek, pastikan untuk memilihnya dari tarik-turun proyek.

2. Siapkan dan terapkan AI Platform Pipeline pada kluster Kubernetes baru

  1. Buka halaman Kluster Pipa AI Platform .

    Di bawah Menu Navigasi Utama: > AI Platform > Pipelines

  2. Klik + Instance Baru untuk membuat cluster baru.

  3. Pada halaman ringkasan Kubeflow Pipelines , klik Configure .

  4. Klik "Aktifkan" untuk mengaktifkan Kubernetes Engine API

  5. Di halaman Deploy Kubeflow Pipeline :

    1. Pilih zona (atau "wilayah") untuk cluster Anda. Jaringan dan subjaringan dapat diatur, tetapi untuk tujuan tutorial ini kita akan membiarkannya sebagai default.

    2. PENTING Centang kotak berlabel Allow access to the following cloud APIs . (Ini diperlukan agar cluster ini dapat mengakses bagian lain dari proyek Anda. Jika Anda melewatkan langkah ini, memperbaikinya nanti akan sedikit rumit.)

    3. Klik Create New Cluster , dan tunggu beberapa menit hingga cluster selesai dibuat. Ini akan memakan waktu beberapa menit. Ketika selesai Anda akan melihat pesan seperti:

      Cluster "cluster-1" berhasil dibuat di zona "us-central1-a".

    4. Pilih namespace dan nama instance (menggunakan default tidak masalah). Untuk keperluan tutorial ini jangan centang executor.emissary atau managedstorage.enabled .

    5. Klik Deploy , dan tunggu beberapa saat hingga pipeline telah di-deploy. Dengan menerapkan Kubeflow Pipeline, Anda menerima Persyaratan Layanan.

3. Siapkan instans Cloud AI Platform Notebook.

  1. Buka halaman Vertex AI Workbench . Pertama kali Anda menjalankan Workbench, Anda harus mengaktifkan Notebooks API.

    Di bawah Menu Navigasi Utama: -> Vertex AI -> Meja Kerja

  2. Jika diminta, aktifkan Compute Engine API.

  3. Buat Notebook Baru dengan TensorFlow Enterprise 2.7 (atau lebih tinggi) terinstal.

    Notebook Baru -> TensorFlow Enterprise 2.7 -> Tanpa GPU

    Pilih region dan zona, dan beri nama pada instance notebook.

    Agar tetap dalam batas Tingkat Gratis, Anda mungkin perlu mengubah pengaturan default di sini untuk mengurangi jumlah vCPU yang tersedia untuk instans ini dari 4 menjadi 2:

    1. Pilih Opsi Tingkat Lanjut di bagian bawah formulir Buku catatan baru .
    2. Di bawah Konfigurasi mesin, Anda mungkin ingin memilih konfigurasi dengan 1 atau 2 vCPU jika Anda perlu tetap menggunakan tingkat gratis.

    3. Tunggu hingga buku catatan baru dibuat, lalu klik Aktifkan API Buku Catatan

4. Luncurkan Buku Catatan Memulai

  1. Buka halaman Kluster Pipa AI Platform .

    Di bawah Menu Navigasi Utama: -> AI Platform -> Pipelines

  2. Pada baris untuk cluster yang Anda gunakan dalam tutorial ini, klik Open Pipelines Dashboard .

  3. Pada halaman Memulai , klik Buka Notebook Cloud AI Platform di Google Cloud .

  4. Pilih contoh Notebook yang Anda gunakan untuk tutorial ini dan Lanjutkan , lalu Konfirmasi .

    pilih-notebook

5. Lanjutkan bekerja di Notebook

Install

Notebook Persiapan dimulai dengan menginstal TFX dan Kubeflow Pipelines (KFP) ke dalam VM tempat Jupyter Lab dijalankan.

Kemudian memeriksa versi TFX mana yang diinstal, melakukan impor, dan menetapkan serta mencetak ID Proyek:

periksa versi python dan impor

Terhubung dengan layanan Google Cloud Anda

Konfigurasi pipeline memerlukan ID proyek Anda, yang dapat Anda peroleh melalui notebook dan ditetapkan sebagai variabel lingkungan.

# Read GCP project id from env.
shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
GCP_PROJECT_ID=shell_output[0]
print("GCP project ID:" + GCP_PROJECT_ID)

Sekarang atur titik akhir klaster KFP Anda.

Ini dapat ditemukan dari URL dasbor Pipelines. Buka dasbor Kubeflow Pipeline dan lihat URL-nya. Titik akhir adalah semua yang ada di URL yang dimulai dengan https:// , hingga, dan termasuk , googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

Notebook kemudian menetapkan nama unik untuk image Docker kustom:

# Docker image name for the pipeline image
CUSTOM_TFX_IMAGE='gcr.io/' + GCP_PROJECT_ID + '/tfx-pipeline'

6. Salin template ke direktori proyek Anda

Edit sel buku catatan berikutnya untuk menetapkan nama untuk saluran Anda. Dalam tutorial ini kita akan menggunakan my_pipeline .

PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)

Notebook kemudian menggunakan tfx CLI untuk menyalin template pipeline. Tutorial ini menggunakan dataset Chicago Taxi untuk melakukan klasifikasi biner, jadi template menyetel model ke taxi :

!tfx template copy \
  --pipeline-name={PIPELINE_NAME} \
  --destination-path={PROJECT_DIR} \
  --model=taxi

Notebook kemudian mengubah konteks CWD ke direktori proyek:

%cd {PROJECT_DIR}

Jelajahi file pipa

Di sisi kiri Notebook Cloud AI Platform, Anda akan melihat browser file. Seharusnya ada direktori dengan nama pipa Anda ( my_pipeline ). Buka dan lihat file. (Anda juga dapat membukanya dan mengedit dari lingkungan notebook.)

# You can also list the files from the shell
 ls

Perintah tfx template copy di atas membuat scaffold dasar file yang membangun pipeline. Ini termasuk kode sumber Python, data sampel, dan notebook Jupyter. Ini dimaksudkan untuk contoh khusus ini. Untuk saluran Anda sendiri, ini akan menjadi file pendukung yang diperlukan saluran Anda.

Berikut adalah deskripsi singkat dari file Python.

  • pipeline - Direktori ini berisi definisi dari pipeline
    • configs.py — mendefinisikan konstanta umum untuk pelari pipa
    • pipeline.py — mendefinisikan komponen TFX dan pipeline
  • models - Direktori ini berisi definisi model ML.
    • features.py features_test.py — mendefinisikan fitur untuk model
    • preprocessing.py / preprocessing_test.py — mendefinisikan pekerjaan preprocessing menggunakan tf::Transform
    • estimator - Direktori ini berisi model berbasis Estimator.
      • constants.py — mendefinisikan konstanta model
      • model.py / model_test.py — mendefinisikan model DNN menggunakan penaksir TF
    • keras - Direktori ini berisi model berbasis Keras.
      • constants.py — mendefinisikan konstanta model
      • model.py / model_test.py — mendefinisikan model DNN menggunakan Keras
  • beam_runner.py / kubeflow_runner.py — tentukan pelari untuk setiap mesin orkestrasi

7. Jalankan pipeline TFX pertama Anda di Kubeflow

Notebook akan menjalankan pipeline menggunakan perintah tfx run CLI.

Hubungkan ke penyimpanan

Menjalankan pipeline membuat artefak yang harus disimpan di ML-Metadata . Artefak mengacu pada muatan, yang merupakan file yang harus disimpan dalam sistem file atau penyimpanan blok. Untuk tutorial ini, kami akan menggunakan GCS untuk menyimpan payload metadata kami, menggunakan bucket yang dibuat secara otomatis selama penyiapan. Namanya adalah <your-project-id>-kubeflowpipelines-default .

Buat saluran pipa

Notebook akan mengunggah data sampel kami ke bucket GCS sehingga kami dapat menggunakannya dalam pipeline kami nanti.

gsutil cp data/data.csv gs://{GOOGLE_CLOUD_PROJECT}-kubeflowpipelines-default/tfx-template/data/taxi/data.csv

Notebook kemudian menggunakan perintah tfx pipeline create untuk membuat pipeline.

!tfx pipeline create  \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT} \
--build-image

Saat membuat pipeline, Dockerfile akan dibuat untuk membangun image Docker. Jangan lupa untuk menambahkan file-file ini ke sistem kontrol sumber Anda (misalnya, git) bersama dengan file sumber lainnya.

Jalankan pipa

Notebook kemudian menggunakan perintah tfx run create untuk memulai eksekusi eksekusi pipeline Anda. Anda juga akan melihat proses ini terdaftar di bawah Eksperimen di Dasbor Kubeflow Pipelines.

tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}

Anda dapat melihat pipeline Anda dari Kubeflow Pipelines Dashboard.

8. Validasi data Anda

Tugas pertama dalam ilmu data atau proyek ML adalah memahami dan membersihkan data.

  • Pahami tipe data untuk setiap fitur
  • Cari anomali dan nilai yang hilang
  • Pahami distribusi untuk setiap fitur

Komponen

Komponen DataKomponen Data

  • ExampleGen menyerap dan membagi set data input.
  • StatisticsGen menghitung statistik untuk kumpulan data.
  • SchemaGen SchemaGen memeriksa statistik dan membuat skema data.
  • ExampleValidator mencari anomali dan nilai yang hilang dalam kumpulan data.

Di editor file lab Jupyter:

Di pipeline / pipeline.py , batalkan komentar pada baris yang menambahkan komponen ini ke pipeline Anda:

# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)

( ExampleGen sudah diaktifkan saat file template disalin.)

Perbarui pipa dan jalankan kembali

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Periksa pipa

Untuk Kubeflow Orchestrator, kunjungi dasbor KFP dan temukan output pipeline di halaman untuk menjalankan pipeline Anda. Klik tab "Eksperimen" di sebelah kiri, dan "Semua berjalan" di laman Eksperimen. Anda harus dapat menemukan proses dengan nama pipa Anda.

Contoh lebih lanjut

Contoh yang disajikan di sini benar-benar hanya dimaksudkan untuk membantu Anda memulai. Untuk contoh lebih lanjut, lihat Colab Validasi Data TensorFlow .

Untuk informasi selengkapnya tentang menggunakan TFDV untuk menjelajahi dan memvalidasi kumpulan data, lihat contoh di tensorflow.org .

9. Rekayasa fitur

Anda dapat meningkatkan kualitas prediktif data Anda dan/atau mengurangi dimensi dengan rekayasa fitur.

  • Persilangan fitur
  • Kosakata
  • Penyematan
  • PCA
  • Pengkodean kategoris

Salah satu keuntungan menggunakan TFX adalah Anda akan menulis kode transformasi Anda sekali, dan transformasi yang dihasilkan akan konsisten antara pelatihan dan penayangan.

Komponen

Mengubah

  • Transform melakukan rekayasa fitur pada dataset.

Di editor file lab Jupyter:

Di pipeline / pipeline.py , temukan dan batalkan komentar pada baris yang menambahkan Transform ke pipeline.

# components.append(transform)

Perbarui pipa dan jalankan kembali

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Periksa output pipa

Untuk Kubeflow Orchestrator, kunjungi dasbor KFP dan temukan output pipeline di halaman untuk menjalankan pipeline Anda. Klik tab "Eksperimen" di sebelah kiri, dan "Semua berjalan" di laman Eksperimen. Anda harus dapat menemukan proses dengan nama pipa Anda.

Contoh lebih lanjut

Contoh yang disajikan di sini benar-benar hanya dimaksudkan untuk membantu Anda memulai. Untuk contoh lebih lanjut, lihat TensorFlow Transform Colab .

10. Pelatihan

Latih model TensorFlow dengan data Anda yang bagus, bersih, dan telah diubah.

  • Sertakan transformasi dari langkah sebelumnya sehingga diterapkan secara konsisten
  • Simpan hasilnya sebagai Model Tersimpan untuk produksi
  • Visualisasikan dan jelajahi proses pelatihan menggunakan TensorBoard
  • Juga simpan EvalSavedModel untuk analisis kinerja model

Komponen

Di editor file lab Jupyter:

Di pipeline / pipeline.py , temukan dan batalkan komentar yang menambahkan Pelatih ke pipeline:

# components.append(trainer)

Perbarui pipa dan jalankan kembali

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Periksa output pipa

Untuk Kubeflow Orchestrator, kunjungi dasbor KFP dan temukan output pipeline di halaman untuk menjalankan pipeline Anda. Klik tab "Eksperimen" di sebelah kiri, dan "Semua berjalan" di laman Eksperimen. Anda harus dapat menemukan proses dengan nama pipa Anda.

Contoh lebih lanjut

Contoh yang disajikan di sini benar-benar hanya dimaksudkan untuk membantu Anda memulai. Untuk contoh lebih lanjut, lihat Tutorial TensorBoard .

11. Menganalisis kinerja model

Memahami lebih dari sekadar metrik tingkat atas.

  • Pengguna mengalami kinerja model hanya untuk kueri mereka
  • Performa buruk pada irisan data dapat disembunyikan oleh metrik tingkat atas
  • Keadilan model itu penting
  • Seringkali bagian kunci dari pengguna atau data sangat penting, dan mungkin kecil
    • Performa dalam kondisi kritis tetapi tidak biasa
    • Performa untuk audiens utama seperti influencer
  • Jika Anda mengganti model yang sedang dalam produksi, pastikan dulu yang baru lebih baik

Komponen

  • Evaluator melakukan analisis mendalam terhadap hasil pelatihan.

Di editor file lab Jupyter:

Di pipeline / pipeline.py , temukan dan batalkan komentar pada baris yang menambahkan Evaluator ke pipeline:

components.append(evaluator)

Perbarui pipa dan jalankan kembali

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Periksa output pipa

Untuk Kubeflow Orchestrator, kunjungi dasbor KFP dan temukan output pipeline di halaman untuk menjalankan pipeline Anda. Klik tab "Eksperimen" di sebelah kiri, dan "Semua berjalan" di laman Eksperimen. Anda harus dapat menemukan proses dengan nama pipa Anda.

12. Melayani model

Jika model baru sudah siap, buatlah.

  • Pusher menyebarkan SavedModels ke lokasi terkenal

Target penerapan menerima model baru dari lokasi terkenal

  • Penyajian TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • Pusat TensorFlow

Komponen

  • Pusher menyebarkan model ke infrastruktur penyajian.

Di editor file lab Jupyter:

Di pipeline / pipeline.py , temukan dan batalkan komentar pada baris yang menambahkan Pusher ke pipeline:

# components.append(pusher)

Periksa output pipa

Untuk Kubeflow Orchestrator, kunjungi dasbor KFP dan temukan output pipeline di halaman untuk menjalankan pipeline Anda. Klik tab "Eksperimen" di sebelah kiri, dan "Semua berjalan" di laman Eksperimen. Anda harus dapat menemukan proses dengan nama pipa Anda.

Target penerapan yang tersedia

Anda sekarang telah melatih dan memvalidasi model Anda, dan model Anda sekarang siap untuk diproduksi. Anda sekarang dapat menerapkan model Anda ke salah satu target penerapan TensorFlow, termasuk:

  • TensorFlow Serving , untuk melayani model Anda di server atau server farm dan memproses permintaan inferensi REST dan/atau gRPC.
  • TensorFlow Lite , untuk menyertakan model Anda dalam aplikasi seluler asli Android atau iOS, atau dalam aplikasi Raspberry Pi, IoT, atau mikrokontroler.
  • TensorFlow.js , untuk menjalankan model Anda di browser web atau aplikasi Node.JS.

Contoh lebih lanjut

Contoh yang disajikan di atas sebenarnya hanya dimaksudkan untuk membantu Anda memulai. Di bawah ini adalah beberapa contoh integrasi dengan layanan Cloud lainnya.

Pertimbangan sumber daya Kubeflow Pipeline

Bergantung pada persyaratan beban kerja Anda, konfigurasi default untuk penerapan Kubeflow Pipelines Anda mungkin memenuhi kebutuhan Anda atau tidak. Anda dapat menyesuaikan konfigurasi sumber daya Anda menggunakan pipeline_operator_funcs dalam panggilan Anda ke KubeflowDagRunnerConfig .

pipeline_operator_funcs adalah daftar item OpFunc , yang mengubah semua instance ContainerOp yang dihasilkan dalam spesifikasi pipeline KFP yang dikompilasi dari KubeflowDagRunner .

Misalnya, untuk mengkonfigurasi memori kita dapat menggunakan set_memory_request untuk menyatakan jumlah memori yang dibutuhkan. Cara khas untuk melakukannya adalah dengan membuat pembungkus untuk set_memory_request dan menggunakannya untuk menambahkan ke daftar pipa OpFunc s:

def request_more_memory():
  def _set_memory_spec(container_op):
    container_op.set_memory_request('32G')
  return _set_memory_spec

# Then use this opfunc in KubeflowDagRunner
pipeline_op_funcs = kubeflow_dag_runner.get_default_pipeline_operator_funcs()
pipeline_op_funcs.append(request_more_memory())
config = KubeflowDagRunnerConfig(
    pipeline_operator_funcs=pipeline_op_funcs,
    ...
)
kubeflow_dag_runner.KubeflowDagRunner(config=config).run(pipeline)

Fungsi konfigurasi sumber daya serupa meliputi:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Coba BigQueryExampleGen

BigQuery adalah gudang data cloud tanpa server, sangat skalabel, dan hemat biaya. BigQuery dapat digunakan sebagai sumber untuk contoh pelatihan di TFX. Pada langkah ini, kami akan menambahkan BigQueryExampleGen ke pipeline.

Di editor file lab Jupyter:

Klik dua kali untuk membuka pipeline.py . Beri komentar CsvExampleGen dan batalkan komentar pada baris yang membuat instance BigQueryExampleGen . Anda juga perlu menghapus komentar pada argumen query dari fungsi create_pipeline .

Kita perlu menentukan project GCP mana yang akan digunakan untuk BigQuery, dan ini dilakukan dengan menyetel --project di beam_pipeline_args saat membuat pipeline.

Klik dua kali untuk membuka configs.py . Batalkan komentar definisi BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS dan BIG_QUERY_QUERY . Anda harus mengganti id proyek dan nilai region dalam file ini dengan nilai yang benar untuk proyek GCP Anda.

Ubah direktori satu tingkat ke atas. Klik nama direktori di atas daftar file. Nama direktori adalah nama pipa yaitu my_pipeline jika Anda tidak mengubah nama pipa.

Klik dua kali untuk membuka kubeflow_runner.py . Batalkan komentar dua argumen, query dan beam_pipeline_args , untuk fungsi create_pipeline .

Sekarang pipeline siap menggunakan BigQuery sebagai sumber contoh. Perbarui pipeline seperti sebelumnya dan buat eksekusi baru seperti yang kita lakukan pada langkah 5 dan 6.

Perbarui pipa dan jalankan kembali

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Coba Aliran Data

Beberapa Komponen TFX menggunakan Apache Beam untuk mengimplementasikan pipeline paralel data, dan itu berarti Anda dapat mendistribusikan beban kerja pemrosesan data menggunakan Google Cloud Dataflow . Pada langkah ini, kita akan mengatur orkestra Kubeflow untuk menggunakan Dataflow sebagai back-end pemrosesan data untuk Apache Beam.

# Select your project:
gcloud config set project YOUR_PROJECT_ID

# Get a list of services that you can enable in your project:
gcloud services list --available | grep Dataflow

# If you don't see dataflow.googleapis.com listed, that means you haven't been
# granted access to enable the Dataflow API.  See your account adminstrator.

# Enable the Dataflow service:

gcloud services enable dataflow.googleapis.com

Klik dua kali pipeline untuk mengubah direktori, dan klik dua kali untuk membuka configs.py . Batalkan komentar definisi GOOGLE_CLOUD_REGION , dan DATAFLOW_BEAM_PIPELINE_ARGS .

Ubah direktori satu tingkat ke atas. Klik nama direktori di atas daftar file. Nama direktori adalah nama pipa yaitu my_pipeline jika Anda tidak mengubahnya.

Klik dua kali untuk membuka kubeflow_runner.py . Batalkan komentar beam_pipeline_args . (Pastikan juga untuk mengomentari beam_pipeline_args saat ini yang Anda tambahkan di Langkah 7.)

Perbarui pipa dan jalankan kembali

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Anda dapat menemukan tugas Dataflow di Dataflow di Cloud Console .

Coba Pelatihan dan Prediksi Cloud AI Platform dengan KFP

TFX bekerja sama dengan beberapa layanan GCP terkelola, seperti Cloud AI Platform for Training and Prediction . Anda dapat menyetel komponen Trainer untuk menggunakan Cloud AI Platform Training, layanan terkelola untuk melatih model ML. Selain itu, saat model Anda dibuat dan siap untuk disajikan, Anda dapat mendorong model Anda ke Cloud AI Platform Prediction untuk disajikan. Pada langkah ini, kami akan mengatur komponen Trainer dan Pusher kami untuk menggunakan layanan Cloud AI Platform.

Sebelum mengedit file, Anda mungkin harus mengaktifkan AI Platform Training & Prediction API terlebih dahulu.

Klik dua kali pipeline untuk mengubah direktori, dan klik dua kali untuk membuka configs.py . Batalkan komentar pada definisi GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS dan GCP_AI_PLATFORM_SERVING_ARGS . Kami akan menggunakan image container yang dibuat khusus untuk melatih model di Cloud AI Platform Training, jadi kami harus menyetel masterConfig.imageUri di GCP_AI_PLATFORM_TRAINING_ARGS ke nilai yang sama seperti CUSTOM_TFX_IMAGE di atas.

Ubah direktori satu tingkat ke atas, dan klik dua kali untuk membuka kubeflow_runner.py . Batalkan komentar ai_platform_training_args dan ai_platform_serving_args .

Perbarui pipa dan jalankan kembali

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Anda dapat menemukan pekerjaan pelatihan Anda di Pekerjaan Cloud AI Platform . Jika pipeline Anda berhasil diselesaikan, Anda dapat menemukan model Anda di Cloud AI Platform Models .

14. Gunakan data Anda sendiri

Dalam tutorial ini, Anda membuat pipeline untuk model menggunakan dataset Chicago Taxi. Sekarang coba masukkan data Anda sendiri ke dalam pipeline. Data Anda dapat disimpan di mana pun pipeline dapat mengaksesnya, termasuk Google Cloud Storage, BigQuery, atau file CSV.

Anda perlu mengubah definisi saluran untuk mengakomodasi data Anda.

Jika data Anda disimpan dalam file

  1. Ubah DATA_PATH di kubeflow_runner.py , yang menunjukkan lokasi.

Jika data Anda disimpan di BigQuery

  1. Ubah BIG_QUERY_QUERY di configs.py ke pernyataan kueri Anda.
  2. Tambahkan fitur di models / features.py .
  3. Ubah models / preprocessing.py untuk mengubah data masukan untuk pelatihan .
  4. Ubah models / keras / model.py dan models / keras / constants.py untuk mendeskripsikan model ML Anda .

Pelajari selengkapnya tentang Pelatih

Lihat panduan komponen Pelatih untuk detail selengkapnya tentang alur Pelatihan.

Membersihkan

Untuk membersihkan semua sumber daya Google Cloud yang digunakan dalam proyek ini, Anda dapat menghapus proyek Google Cloud yang Anda gunakan untuk tutorial.

Atau, Anda dapat membersihkan resource individual dengan mengunjungi setiap konsol: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine