Cloud AI Platform Ardışık Düzenlerinde TFX

giriiş

Bu eğitim , TensorFlow Extended (TFX) ve AIPlatform Pipelines'ı tanıtmak ve Google Cloud'da kendi makine öğrenimi ardışık düzenlerinizi oluşturmayı öğrenmenize yardımcı olmak için tasarlanmıştır. TFX, AI Platform Pipelines ve Kubeflow ile entegrasyonun yanı sıra Jupyter not defterlerinde TFX ile etkileşimi gösterir.

Bu eğitimin sonunda Google Cloud'da barındırılan bir ML Pipeline oluşturup çalıştıracaksınız. Her çalışmanın sonuçlarını görselleştirebilecek ve oluşturulan eserlerin kökenini görüntüleyebileceksiniz.

Veri kümesini inceleyerek başlayıp eksiksiz bir çalışma hattıyla biten tipik bir makine öğrenimi geliştirme sürecini izleyeceksiniz. Yol boyunca işlem hattınızda hata ayıklamanın, güncellemenin ve performansı ölçmenin yollarını keşfedeceksiniz.

Chicago Taksi Veri Kümesi

TaksiChicago taksi

Chicago Şehri tarafından yayımlanan Taxi Trips veri kümesini kullanıyorsunuz.

Google BigQuery'de veri kümesi hakkında daha fazla bilgi edinebilirsiniz. BigQuery kullanıcı arayüzünde veri kümesinin tamamını keşfedin.

Model Hedefi - İkili sınıflandırma

Müşteri %20'den fazla mı yoksa az mı bahşiş verecek?

1. Bir Google Cloud projesi oluşturun

1.a Ortamınızı Google Cloud'da kurun

Başlamak için bir Google Cloud Hesabınıza ihtiyacınız var. Zaten bir tane varsa, Yeni Proje Oluştur'a geçin.

  1. Google Cloud Console'a gidin.

  2. Google Cloud şartlar ve koşullarını kabul edin

  3. Ücretsiz deneme hesabıyla başlamak istiyorsanız Ücretsiz Dene'ye (veya Ücretsiz başlayın ) tıklayın.

    1. Ülkenizi seçin.

    2. Hizmet şartlarını kabul edin.

    3. Fatura ayrıntılarını girin.

      Bu noktada sizden ücret alınmayacaktır. Başka Google Cloud projeniz yoksa bu eğiticiyi, aynı anda maksimum 8 çekirdeğin çalışmasını içeren Google Cloud Ücretsiz Kullanım sınırlarını aşmadan tamamlayabilirsiniz.

1.b Yeni bir proje oluşturun.

  1. Ana Google Cloud kontrol panelinden , Google Cloud Platform başlığının yanındaki proje açılır menüsünü tıklayın ve Yeni Proje'yi seçin.
  2. Projenize bir ad verin ve diğer proje ayrıntılarını girin
  3. Bir proje oluşturduğunuzda, proje açılır menüsünden onu seçtiğinizden emin olun.

2. Yeni bir Kubernetes kümesinde bir AI Platform Pipeline kurun ve dağıtın

  1. AI Platform İşlem Hatları Kümeleri sayfasına gidin.

    Ana Gezinme Menüsü altında: ≡ > AI Platform > İşlem Hatları

  2. Yeni bir küme oluşturmak için + Yeni Örnek'e tıklayın.

  3. Kubeflow İşlem Hatları genel bakış sayfasında Yapılandır'a tıklayın.

  4. Kubernetes Engine API'sini etkinleştirmek için "Etkinleştir"i tıklayın

  5. Kubeflow İşlem Hatlarını Dağıt sayfasında:

    1. Kümeniz için bir bölge (veya "bölge") seçin. Ağ ve alt ağ ayarlanabilir ancak bu eğitimin amaçları doğrultusunda bunları varsayılan olarak bırakacağız.

    2. ÖNEMLİ Aşağıdaki bulut API'lerine erişime izin ver etiketli kutuyu işaretleyin. (Bu kümenin projenizin diğer parçalarına erişmesi için bu gereklidir. Bu adımı kaçırırsanız daha sonra düzeltmek biraz zor olabilir.)

    3. Yeni Küme Oluştur'u tıklayın ve küme oluşturulana kadar birkaç dakika bekleyin. Bu birkaç dakika sürecektir. Tamamlandığında şöyle bir mesaj göreceksiniz:

      "Küme-1" kümesi "us-central1-a" bölgesinde başarıyla oluşturuldu.

    4. Bir ad alanı ve örnek adı seçin (varsayılanları kullanmakta sorun yoktur). Bu eğitimin amaçları doğrultusunda executor.emissary veya yönetilenstorage.enabled'ı işaretlemeyin.

    5. Dağıt'a tıklayın ve işlem hattı dağıtılana kadar birkaç dakika bekleyin. Kubeflow Pipelines'ı dağıtarak Hizmet Şartlarını kabul etmiş olursunuz.

3. Cloud AI Platform Notebook örneğini kurun.

  1. Vertex AI Workbench sayfasına gidin. Workbench'i ilk kez çalıştırdığınızda Notebooks API'yi etkinleştirmeniz gerekecektir.

    Ana Gezinme Menüsü altında: ≡ -> Vertex AI -> Workbench

  2. İstenirse Compute Engine API'yi etkinleştirin.

  3. TensorFlow Enterprise 2.7 (veya üzeri) yüklü olan Yeni bir Not Defteri oluşturun.

    Yeni Dizüstü Bilgisayar -> TensorFlow Enterprise 2.7 -> GPU'suz

    Bir bölge ve bölge seçin ve not defteri örneğine bir ad verin.

    Ücretsiz Kullanım sınırları dahilinde kalmak için, bu örnekte kullanılabilen vCPU sayısını 4'ten 2'ye düşürmek amacıyla buradaki varsayılan ayarları değiştirmeniz gerekebilir:

    1. Yeni not defteri formunun altındaki Gelişmiş Seçenekler'i seçin.
    2. Ücretsiz katmanda kalmanız gerekiyorsa Makine yapılandırması altında 1 veya 2 vCPU'lu bir yapılandırma seçmek isteyebilirsiniz.

    3. Yeni not defterinin oluşturulmasını bekleyin ve ardından Not Defterleri API'sini Etkinleştir'e tıklayın.

4. Başlarken Not Defteri'ni başlatın

  1. AI Platform İşlem Hatları Kümeleri sayfasına gidin.

    Ana Gezinme Menüsü altında: ≡ -> AI Platform -> İşlem Hatları

  2. Bu öğreticide kullandığınız kümenin satırında İşlem Hatları Kontrol Panelini Aç öğesine tıklayın.

  3. Başlarken sayfasında Google Cloud'da Cloud AI Platform Not Defteri Aç'ı tıklayın.

  4. Bu eğitim için kullandığınız Notebook örneğini seçin, Devam Et'i ve ardından Onayla'yı seçin .

    not defteri seç

5. Defterde çalışmaya devam edin

Düzenlemek

Başlarken Not Defteri, Jupyter Lab'ın çalıştığı VM'ye TFX ve Kubeflow Pipelines'ın (KFP) kurulmasıyla başlar.

Daha sonra hangi TFX sürümünün kurulu olduğunu kontrol eder, bir içe aktarma işlemi gerçekleştirir ve Proje Kimliğini ayarlayıp yazdırır:

python sürümünü kontrol edin ve içe aktarın

Google Cloud hizmetlerinize bağlanın

İşlem hattı yapılandırması, dizüstü bilgisayardan alabileceğiniz ve çevresel değişken olarak ayarlayabileceğiniz proje kimliğinize ihtiyaç duyar.

# 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)

Şimdi KFP kümesi uç noktanızı ayarlayın.

Bu, Pipelines kontrol panelinin URL'sinden bulunabilir. Kubeflow Pipeline kontrol paneline gidin ve URL'ye bakın. Uç nokta, URL'deki https:// ile başlayan ve googleusercontent.com kadar olan her şeydir.

ENDPOINT='' # Enter YOUR ENDPOINT here.

Dizüstü bilgisayar daha sonra özel Docker görüntüsü için benzersiz bir ad belirler:

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

6. Bir şablonu proje dizininize kopyalayın

İşlem hattınız için bir ad belirlemek üzere sonraki not defteri hücresini düzenleyin. Bu derste my_pipeline kullanacağız.

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

Dizüstü bilgisayar daha sonra işlem hattı şablonunu kopyalamak için tfx CLI'yi kullanır. Bu eğitim, ikili sınıflandırmayı gerçekleştirmek için Chicago Taksi veri kümesini kullanır; böylece şablon, modeli taxi olarak ayarlar:

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

Dizüstü bilgisayar daha sonra CWD içeriğini proje dizinine değiştirir:

%cd {PROJECT_DIR}

Boru hattı dosyalarına göz atın

Cloud AI Platform Notebook'un sol tarafında bir dosya tarayıcısı görmelisiniz. Boru hattı adınızı ( my_pipeline ) içeren bir dizin bulunmalıdır. Açın ve dosyaları görüntüleyin. (Bunları not defteri ortamından da açabilecek ve düzenleyebileceksiniz.)

# You can also list the files from the shell
 ls

Yukarıdaki tfx template copy komutu, bir ardışık düzen oluşturan dosyalardan oluşan temel bir yapı iskelesi oluşturdu. Bunlara Python kaynak kodları, örnek veriler ve Jupyter not defterleri dahildir. Bunlar bu özel örnek için verilmiştir. Kendi işlem hatlarınız için bunlar, işlem hattınızın gerektirdiği destekleyici dosyalar olacaktır.

İşte Python dosyalarının kısa açıklaması.

  • pipeline - Bu dizin boru hattının tanımını içerir
    • configs.py - işlem hattı çalıştırıcıları için ortak sabitleri tanımlar
    • pipeline.py — TFX bileşenlerini ve bir ardışık düzeni tanımlar
  • models - Bu dizin ML model tanımlarını içerir.
    • features.py features_test.py — modelin özelliklerini tanımlar
    • preprocessing.py / preprocessing_test.pytf::Transform kullanarak ön işleme işlerini tanımlar
    • estimator - Bu dizin Tahminci tabanlı bir model içerir.
      • constants.py - modelin sabitlerini tanımlar
      • model.py / model_test.py - TF tahmincisini kullanarak DNN modelini tanımlar
    • keras - Bu dizin Keras tabanlı bir model içerir.
      • constants.py - modelin sabitlerini tanımlar
      • model.py / model_test.py - Keras'ı kullanarak DNN modelini tanımlar
  • beam_runner.py / kubeflow_runner.py — her orkestrasyon motoru için çalıştırıcıları tanımlayın

7. İlk TFX işlem hattınızı Kubeflow'ta çalıştırın

Dizüstü bilgisayar, işlem hattını tfx run CLI komutunu kullanarak çalıştıracaktır.

Depolama birimine bağlanın

İşlem hatlarını çalıştırmak , ML-Metadata'da depolanması gereken yapılar oluşturur. Yapıtlar, bir dosya sisteminde veya blok depolamada depolanması gereken dosyalar olan yükleri ifade eder. Bu eğitimde, meta veri yüklerimizi depolamak için kurulum sırasında otomatik olarak oluşturulan paketi kullanarak GCS'yi kullanacağız. Adı <your-project-id>-kubeflowpipelines-default olacaktır.

Boru hattını oluşturun

Not defteri, örnek verilerimizi daha sonra ardışık düzenimizde kullanabilmemiz için GCS paketine yükleyecektir.

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

Dizüstü bilgisayar daha sonra işlem hattını oluşturmak için tfx pipeline create komutunu kullanır.

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

Bir işlem hattı oluştururken, Docker görüntüsü oluşturmak için Dockerfile oluşturulacaktır. Bu dosyaları diğer kaynak dosyalarla birlikte kaynak kontrol sisteminize (örneğin git) eklemeyi unutmayın.

Boru hattını çalıştırın

Dizüstü bilgisayar daha sonra işlem hattınızın yürütme çalıştırmasını başlatmak için tfx run create komutunu kullanır. Bu çalıştırmanın Kubeflow Pipelines Kontrol Panelindeki Denemeler altında da listelendiğini göreceksiniz.

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

İşlem hattınızı Kubeflow Pipelines Kontrol Panelinden görüntüleyebilirsiniz.

8. Verilerinizi doğrulayın

Herhangi bir veri bilimi veya makine öğrenimi projesinde ilk görev, verileri anlamak ve temizlemektir.

  • Her özelliğe ilişkin veri türlerini anlayın
  • Anormallikleri ve eksik değerleri arayın
  • Her özelliğin dağılımlarını anlayın

Bileşenler

Veri BileşenleriVeri Bileşenleri

  • SampleGen giriş veri kümesini alır ve böler.
  • İstatistikGen, veri kümesine ilişkin istatistikleri hesaplar.
  • SchemaGen SchemaGen istatistikleri inceler ve bir veri şeması oluşturur.
  • SampleValidator, veri kümesindeki anormallikleri ve eksik değerleri arar.

Jupyter laboratuvar dosya düzenleyicisinde:

pipeline / pipeline.py dosyasında, bu bileşenleri ardışık düzeninize ekleyen satırların açıklamalarını kaldırın:

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

( ExampleGen şablon dosyaları kopyalandığında zaten etkindi.)

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Boru hattını kontrol edin

Kubeflow Orchestrator için KFP kontrol panelini ziyaret edin ve işlem hattı çalıştırmanıza ilişkin sayfada işlem hattı çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adını içeren çalıştırmayı bulabilmelisiniz.

Daha gelişmiş örnek

Burada sunulan örnek aslında yalnızca başlamanıza yardımcı olmak içindir. Daha gelişmiş bir örnek için TensorFlow Veri Doğrulama Colab'ına bakın.

Bir veri kümesini araştırmak ve doğrulamak amacıyla TFDV'yi kullanma hakkında daha fazla bilgi için tensorflow.org'daki örneklere bakın .

9. Özellik mühendisliği

Özellik mühendisliği ile verilerinizin tahmin kalitesini artırabilir ve/veya boyutluluğunu azaltabilirsiniz.

  • Özellik çaprazları
  • Kelime Dağarcığı
  • Gömmeler
  • PCA
  • Kategorik kodlama

TFX kullanmanın faydalarından biri, dönüşüm kodunuzu bir kez yazmanız ve ortaya çıkan dönüşümlerin eğitim ve sunum arasında tutarlı olmasıdır.

Bileşenler

Dönüştür

  • Transform, veri kümesi üzerinde özellik mühendisliği gerçekleştirir.

Jupyter laboratuvar dosya düzenleyicisinde:

pipeline / pipeline.py dosyasında, Transform'u işlem hattına ekleyen satırı bulun ve açıklamasını kaldırın.

# components.append(transform)

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Boru hattı çıkışlarını kontrol edin

Kubeflow Orchestrator için KFP kontrol panelini ziyaret edin ve işlem hattı çalıştırmanıza ilişkin sayfada işlem hattı çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adını içeren çalıştırmayı bulabilmelisiniz.

Daha gelişmiş örnek

Burada sunulan örnek aslında yalnızca başlamanıza yardımcı olmak içindir. Daha gelişmiş bir örnek için TensorFlow Transform Colab'a bakın.

10. Eğitim

Güzel, temiz, dönüştürülmüş verilerinizle bir TensorFlow modelini eğitin.

  • Tutarlı bir şekilde uygulanmaları için önceki adımdaki dönüşümleri dahil edin
  • Sonuçları üretim için SavedModel olarak kaydedin
  • TensorBoard'u kullanarak eğitim sürecini görselleştirin ve keşfedin
  • Ayrıca model performansının analizi için bir EvalSavedModel'i kaydedin

Bileşenler

  • Eğitmen bir TensorFlow modelini eğitir.

Jupyter laboratuvar dosya düzenleyicisinde:

pipeline / pipeline.py dosyasında, Trainer'ı boru hattına ekleyen öğeyi bulun ve açıklamasını kaldırın:

# components.append(trainer)

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Boru hattı çıkışlarını kontrol edin

Kubeflow Orchestrator için KFP kontrol panelini ziyaret edin ve işlem hattı çalıştırmanıza ilişkin sayfada işlem hattı çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adını içeren çalıştırmayı bulabilmelisiniz.

Daha gelişmiş örnek

Burada sunulan örnek aslında yalnızca başlamanıza yardımcı olmak içindir. Daha gelişmiş bir örnek için TensorBoard Eğitimine bakın.

11. Model performansını analiz etme

Üst düzey ölçümlerden daha fazlasını anlama.

  • Kullanıcılar yalnızca kendi sorguları için model performansını deneyimler
  • Veri dilimlerindeki düşük performans, üst düzey ölçümlerle gizlenebilir
  • Model adaleti önemlidir
  • Çoğunlukla kullanıcıların veya verilerin önemli alt kümeleri çok önemlidir ve küçük olabilir
    • Kritik ancak olağandışı koşullarda performans
    • Etkileyiciler gibi önemli kitlelere yönelik performans
  • Şu anda üretimde olan bir modeli değiştiriyorsanız, öncelikle yenisinin daha iyi olduğundan emin olun.

Bileşenler

Jupyter laboratuvar dosya düzenleyicisinde:

pipeline / pipeline.py dosyasında, Evaluator'ı işlem hattına ekleyen satırı bulun ve açıklamasını kaldırın:

components.append(evaluator)

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Boru hattı çıkışlarını kontrol edin

Kubeflow Orchestrator için KFP kontrol panelini ziyaret edin ve işlem hattı çalıştırmanıza ilişkin sayfada işlem hattı çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adını içeren çalıştırmayı bulabilmelisiniz.

12. Modelin sunumu

Yeni model hazırsa öyle yapın.

  • Pusher, SavedModels'ı iyi bilinen konumlara dağıtıyor

Dağıtım hedefleri, iyi bilinen konumlardan yeni modeller alıyor

  • TensorFlow Sunumu
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Merkezi

Bileşenler

  • İtici, modeli hizmet veren bir altyapıya dağıtır.

Jupyter laboratuvar dosya düzenleyicisinde:

pipeline / pipeline.py dosyasında, Pusher'ı boru hattına ekleyen satırı bulun ve açıklamasını kaldırın:

# components.append(pusher)

Boru hattı çıkışlarını kontrol edin

Kubeflow Orchestrator için KFP kontrol panelini ziyaret edin ve işlem hattı çalıştırmanıza ilişkin sayfada işlem hattı çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adını içeren çalıştırmayı bulabilmelisiniz.

Kullanılabilir dağıtım hedefleri

Artık modelinizi eğitip doğruladınız ve modeliniz artık üretime hazır. Artık modelinizi aşağıdakiler dahil TensorFlow dağıtım hedeflerinden herhangi birine dağıtabilirsiniz:

  • Modelinizi bir sunucu veya sunucu grubunda sunmak ve REST ve/veya gRPC çıkarım isteklerini işlemek için TensorFlow Serving .
  • Modelinizi bir Android veya iOS yerel mobil uygulamasına veya Raspberry Pi, IoT veya mikro denetleyici uygulamasına dahil etmek için TensorFlow Lite .
  • Modelinizi bir web tarayıcısında veya Node.JS uygulamasında çalıştırmak için TensorFlow.js .

Daha gelişmiş örnekler

Yukarıda sunulan örnek aslında yalnızca başlamanıza yardımcı olmak içindir. Aşağıda diğer Bulut hizmetleriyle entegrasyona ilişkin bazı örnekler verilmiştir.

Kubeflow Pipelines kaynağıyla ilgili hususlar

İş yükünüzün gereksinimlerine bağlı olarak Kubeflow Pipelines dağıtımınızın varsayılan yapılandırması ihtiyaçlarınızı karşılayabilir veya karşılamayabilir. KubeflowDagRunnerConfig çağrınızda pipeline_operator_funcs kullanarak kaynak yapılandırmalarınızı özelleştirebilirsiniz.

pipeline_operator_funcs KubeflowDagRunner derlenen KFP işlem hattı spesifikasyonunda oluşturulan tüm ContainerOp örneklerini dönüştüren OpFunc öğelerinin bir listesidir.

Örneğin, belleği yapılandırmak için gereken bellek miktarını bildirmek üzere set_memory_request kullanabiliriz. Bunu yapmanın tipik bir yolu, set_memory_request için bir sarmalayıcı oluşturmak ve bunu ardışık düzen OpFunc s listesine eklemek için kullanmaktır:

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)

Benzer kaynak yapılandırma işlevleri şunları içerir:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

BigQueryExampleGen deneyin

BigQuery, sunucusuz, yüksek düzeyde ölçeklenebilir ve uygun maliyetli bir bulut veri ambarıdır. BigQuery, TFX'teki eğitim örnekleri için kaynak olarak kullanılabilir. Bu adımda BigQueryExampleGen işlem hattına ekleyeceğiz.

Jupyter laboratuvar dosya düzenleyicisinde:

pipeline.py açmak için çift tıklayın . CsvExampleGen yorumlayın ve BigQueryExampleGen örneğini oluşturan satırın açıklamasını kaldırın. Ayrıca create_pipeline fonksiyonunun query argümanının açıklamasını da kaldırmanız gerekir.

BigQuery için hangi GCP projesini kullanacağımızı belirtmemiz gerekiyor ve bu, bir ardışık düzen oluştururken beam_pipeline_args içinde --project ayarı yapılarak yapılır.

configs.py açmak için çift tıklayın . BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS ve BIG_QUERY_QUERY tanımlarının açıklamasını kaldırın. Bu dosyadaki proje kimliğini ve bölge değerini, GCP projeniz için doğru değerlerle değiştirmelisiniz.

Dizini bir seviye yukarı değiştirin. Dosya listesinin üstündeki dizinin adına tıklayın. Dizinin adı, boru hattı adını değiştirmediyseniz my_pipeline olan boru hattının adıdır.

kubeflow_runner.py açmak için çift tıklayın . create_pipeline işlevi için iki bağımsız değişkenin ( query beam_pipeline_args ) açıklamasını kaldırın.

Artık ardışık düzen örnek kaynak olarak BigQuery'yi kullanmaya hazır. İşlem hattını daha önce olduğu gibi güncelleyin ve 5. ve 6. adımlarda yaptığımız gibi yeni bir yürütme çalıştırması oluşturun.

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Dataflow'u deneyin

Birçok TFX Bileşeni, veri paralel ardışık düzenleri uygulamak için Apache Beam'i kullanır ve bu , Google Cloud Dataflow'u kullanarak veri işleme iş yüklerini dağıtabileceğiniz anlamına gelir. Bu adımda Kubeflow orkestratörünü Apache Beam için veri işleme arka ucu olarak Dataflow'u kullanacak şekilde ayarlayacağız.

# 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

Dizini değiştirmek için pipeline çift tıklayın ve configs.py açmak için çift tıklayın . GOOGLE_CLOUD_REGION ve DATAFLOW_BEAM_PIPELINE_ARGS tanımlarının açıklamasını kaldırın.

Dizini bir seviye yukarı değiştirin. Dosya listesinin üstündeki dizinin adına tıklayın. Dizinin adı, eğer değişmediyseniz my_pipeline olan boru hattının adıdır.

kubeflow_runner.py açmak için çift tıklayın . beam_pipeline_args açıklamasını kaldırın. (Ayrıca 7. Adımda eklediğiniz mevcut beam_pipeline_args yorum olarak belirttiğinizden emin olun.)

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Dataflow işlerinizi Cloud Console'daki Dataflow'da bulabilirsiniz.

KFP ile Cloud AI Platform Eğitimini ve Tahminini Deneyin

TFX , Eğitim ve Tahmin için Cloud AI Platformu gibi çeşitli yönetilen GCP hizmetleriyle birlikte çalışır. Trainer bileşeninizi, makine öğrenimi modellerinin eğitimi için yönetilen bir hizmet olan Cloud AI Platform Training'i kullanacak şekilde ayarlayabilirsiniz. Üstelik modeliniz oluşturulduğunda ve sunulmaya hazır olduğunda, modelinizi hizmet için Cloud AI Platform Prediction'a aktarabilirsiniz . Bu adımda Trainer ve Pusher bileşenimizi Cloud AI Platform hizmetlerini kullanacak şekilde ayarlayacağız.

Dosyaları düzenlemeden önce AI Platform Training & Prediction API'yi etkinleştirmeniz gerekebilir.

Dizini değiştirmek için pipeline çift tıklayın ve configs.py açmak için çift tıklayın . GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS ve GCP_AI_PLATFORM_SERVING_ARGS tanımının açıklamasını kaldırın. Cloud AI Platform Training'de bir model eğitmek için özel oluşturulmuş konteyner görüntümüzü kullanacağız, bu nedenle GCP_AI_PLATFORM_TRAINING_ARGS masterConfig.imageUri yukarıdaki CUSTOM_TFX_IMAGE ile aynı değere ayarlamalıyız.

Dizini bir seviye yukarı değiştirin ve kubeflow_runner.py açmak için çift tıklayın . ai_platform_training_args ve ai_platform_serving_args açıklamalarını kaldırın.

İşlem hattını güncelleyin ve yeniden çalıştırın

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

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

Eğitim işlerinizi Cloud AI Platform İşleri bölümünde bulabilirsiniz. İşlem hattınız başarıyla tamamlandıysa modelinizi Cloud AI Platform Modelleri'nde bulabilirsiniz.

14. Kendi verilerinizi kullanın

Bu öğreticide Chicago Taxi veri kümesini kullanarak bir model için bir işlem hattı oluşturdunuz. Şimdi kendi verilerinizi ardışık düzene koymayı deneyin. Verileriniz, Google Cloud Storage, BigQuery veya CSV dosyaları da dahil olmak üzere ardışık düzenin erişebildiği her yerde depolanabilir.

Verilerinizi karşılamak için işlem hattı tanımını değiştirmeniz gerekir.

Verileriniz dosyalarda saklanıyorsa

  1. kubeflow_runner.py dosyasında DATA_PATH değiştirerek konumu belirtin.

Verileriniz BigQuery'de depolanıyorsa

  1. Configs.py'deki BIG_QUERY_QUERY sorgu ifadenizde değiştirin.
  2. models / features.py dosyasına özellikler ekleyin.
  3. Eğitim amacıyla giriş verilerini dönüştürmek için models preprocessing.py değiştirin.
  4. ML modelinizi tanımlamak için models / keras / model.py ve models / keras / constants.py değiştirin.

Eğitmen hakkında daha fazla bilgi edinin

Eğitim hatları hakkında daha fazla ayrıntı için Eğitmen bileşen kılavuzuna bakın.

Temizleme

Bu projede kullanılan tüm Google Cloud kaynaklarını temizlemek için eğitim için kullandığınız Google Cloud projesini silebilirsiniz .

Alternatif olarak, her bir konsolu ziyaret ederek kaynakları ayrı ayrı temizleyebilirsiniz: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine