Bergabunglah dengan komunitas SIG TFX-Addons dan bantu menjadikan TFX lebih baik!

TFX di Cloud AI Platform Pipeline

pengantar

Tutorial ini dirancang untuk memperkenalkan TensorFlow Extended (TFX) dan Cloud AI Platform Pipelines, 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 Pipeline ML, 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 .

Tujuan Model - Klasifikasi biner

Akankah pelanggan memberi tip 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 Buat Proyek Baru .

  1. Buka Google Cloud Console .

  2. Setujui persyaratan dan ketentuan Google Cloud

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

    1. Pilih negaramu.

    2. Setuju dengan persyaratan layanan.

    3. Masukkan detail penagihan.

      Anda tidak akan dikenakan biaya saat ini. Jika Anda tidak memiliki proyek Google Cloud lainnya, Anda dapat menyelesaikan tutorial ini tanpa melebihi batas Tingkat Gratis Google Cloud , yang mencakup maksimal 8 inti 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, pilih dari drop-down proyek.

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

  1. Buka halaman Cluster Pipelines 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 .

    Anda mungkin harus menunggu beberapa menit sebelum melanjutkan, sementara Kubernetes Engine API sedang diaktifkan untuk Anda.

  4. Di halaman Deploy Kubeflow Pipelines :

    1. Pilih zona (atau "wilayah") untuk cluster Anda.

    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 , dan tunggu beberapa menit hingga cluster telah dibuat.

    4. Pilih namespace dan nama instance (menggunakan default tidak masalah). Anda tidak perlu mencentang Gunakan penyimpanan terkelola .

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

3. Siapkan instans Cloud AI Platform Notebook.

  1. Buka halaman Notebook AI Platform .

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

  2. Jika diminta, aktifkan Compute Engine API.

  3. Buat Instance Baru dengan TensorFlow 2.1 (atau lebih tinggi) terinstal.

    Instance Baru -> TensorFlow 2.1 -> Tanpa GPU

    Untuk tetap berada dalam batas Tingkat Gratis, jangan terima pengaturan default di sini. Anda perlu mengurangi jumlah vCPU yang tersedia untuk instance ini dari 4 menjadi 2:

    1. Pilih Kustomisasi di bagian bawah formulir Instans buku catatan baru .
    2. Pilih konfigurasi Mesin dengan 1 atau 2 vCPU.

4. Luncurkan Buku Catatan Memulai

  1. Buka halaman Cluster Pipelines 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 .

    dasbor terbuka

  3. Pada halaman Memulai , klik Buka Buku Catatan TF 2.1 .

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

    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. Pergi ke dashboard Kubeflow Pipeline dan lihat URL-nya. Titik akhir adalah segalanya di URL setelah 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 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 pipeline Anda sendiri, ini adalah file pendukung yang dibutuhkan oleh pipeline Anda.

Berikut adalah deskripsi singkat dari file Python.

  • pipeline - Direktori ini berisi definisi dari pipeline
    • configs.py - mendefinisikan konstanta umum untuk pelari pipeline
    • 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 di 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 Eksperimen di Dasbor Saluran Pipa Kubeflow.

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

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 advanced

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

Untuk informasi lebih lanjut 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
  • Embeddings
  • PCA
  • Pengkodean kategoris

Salah satu manfaat 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 pipeline 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 pipeline Anda.

Contoh yang lebih maju

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 hapus komentar yang menambahkan Trainer 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 halaman Eksperimen. Anda harus dapat menemukan proses dengan nama pipa Anda.

Contoh lebih lanjut advanced

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 sekedar 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 subset 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 saat ini dalam produksi, pertama-tama pastikan model 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 keluaran 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 penyebaran menerima model baru dari lokasi terkenal

  • Penyajian TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

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 keluaran pipeline di halaman untuk menjalankan pipeline Anda. Klik tab "Eksperimen" di sebelah kiri, dan "Semua berjalan" di halaman 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 kebutuhan beban kerja Anda, konfigurasi default untuk penerapan Kubeflow Pipelines Anda mungkin atau mungkin tidak memenuhi kebutuhan Anda. 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 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 . Komentari 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 . BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS 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 pipeline yang merupakan my_pipeline jika Anda tidak mengubah nama pipeline.

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 Dataflow

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 . Hapus 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 pekerjaan Dataflow Anda 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 Anda untuk menggunakan Cloud AI Platform Training, layanan terkelola untuk melatih model ML. Selain itu, ketika 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 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 menetapkan masterConfig.imageUri di GCP_AI_PLATFORM_TRAINING_ARGS ke nilai yang sama dengan CUSTOM_TFX_IMAGE atas.

Ubah direktori satu tingkat ke atas, dan klik dua kali untuk membuka kubeflow_runner.py . ai_platform_training_args 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 Platform AI Cloud . 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 file Google Cloud Storage, BigQuery, atau 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 lebih lanjut 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