giriiş
Bu eğitici, 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. Jupyter dizüstü bilgisayarlarda TFX, AI Platform Pipelines ve Kubeflow ile entegrasyonun yanı sıra TFX ile etkileşimi gösterir.
Bu eğiticinin sonunda, Google Cloud'da barındırılan bir ML Pipeline oluşturmuş ve çalıştırmış olacaksınız. Her çalıştırmanın sonuçlarını görselleştirebilecek ve oluşturulan eserlerin kökenini görüntüleyebileceksiniz.
Veri kümesini inceleyerek ve eksiksiz bir çalışma hattı ile biten tipik bir makine öğrenimi geliştirme sürecini izleyeceksiniz. Yol boyunca, ardışık düzeninizde hata ayıklamanın ve güncellemenin ve performansı ölçmenin yollarını keşfedeceksiniz.
Chicago Taksi Veri Kümesi
Chicago Şehri tarafından yayınlanan Taksi Gezileri veri setini kullanıyorsunuz.
Google BigQuery'de veri kümesi hakkında daha fazla bilgi edinebilirsiniz. BigQuery kullanıcı arayüzündeki tüm veri kümesini keşfedin.
Model Hedefi - İkili sınıflandırma
Müşteri %20'den fazla mı yoksa daha 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 Bulut Hesabına ihtiyacınız var. Zaten bir tane varsa, Yeni Proje Yarat'a atlayın.
Google Bulut Konsolu'na gidin.
Google Cloud şartlar ve koşullarını kabul edin
Ücretsiz bir deneme hesabıyla başlamak istiyorsanız, Ücretsiz Dene'ye (veya Ücretsiz Başlayın ) tıklayın.
Ülkeni seç.
Hizmet şartlarını kabul edin.
Fatura ayrıntılarını girin.
Bu noktada sizden ücret alınmaz. Başka bir Google Cloud projeniz yoksa, aynı anda çalışan maksimum 8 çekirdeği içeren Google Cloud Ücretsiz Katman sınırlarını aşmadan bu eğiticiyi tamamlayabilirsiniz.
1.b Yeni bir proje oluşturun.
- Ana Google Cloud kontrol panelinde , 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.
- Projenize bir isim verin ve diğer proje detaylarını girin
- Bir proje oluşturduktan sonra, 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
AI Platform Pipelines Clusters sayfasına gidin.
Ana Gezinme Menüsü altında: ≡ > AI Platform > Pipelines
Yeni bir küme oluşturmak için + Yeni Örnek'e tıklayın.
Kubeflow Pipelines genel bakış sayfasında Yapılandır öğesine tıklayın.
Kubernetes Engine API'yi etkinleştirmek için "Etkinleştir"i tıklayın
Kubeflow Pipelines Dağıtma sayfasında:
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.
Ö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.)
Yeni Küme Oluştur öğesine tıklayın ve küme oluşturulana kadar birkaç dakika bekleyin. Bu birkaç dakika sürecek. Tamamlandığında şöyle bir mesaj göreceksiniz:
Küme "küme-1", "us-central1-a" bölgesinde başarıyla oluşturuldu.
Bir ad alanı ve örnek adı seçin (varsayılanları kullanmak uygundur). Bu öğreticinin amaçları doğrultusunda executor.emissary veya Managedstorage.enabled öğelerini kontrol etmeyin.
Dağıt öğesine 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 ayarlayın.
Vertex AI Workbench sayfasına gidin. Workbench'i ilk çalıştırdığınızda Notebooks API'sini etkinleştirmeniz gerekir.
Ana Gezinme Menüsü altında: ≡ -> Vertex AI -> Workbench
İstenirse Compute Engine API'sini etkinleştirin.
TensorFlow Enterprise 2.7 (veya üstü) yüklü Yeni bir Defter oluşturun.
Yeni Defter -> 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ı içinde kalmak için, bu örnekte kullanılabilen vCPU sayısını 4'ten 2'ye düşürmek için buradaki varsayılan ayarları değiştirmeniz gerekebilir:
- Yeni not defteri formunun altındaki Gelişmiş Seçenekler'i seçin.
Ücretsiz katmanda kalmanız gerekiyorsa, Makine yapılandırması altında 1 veya 2 vCPU'lu bir yapılandırma seçmek isteyebilirsiniz.
Yeni not defterinin oluşturulmasını bekleyin ve ardından Defterler API'sini Etkinleştir'e tıklayın.
4. Başlangıç Not Defterini Başlatın
AI Platform Pipelines Clusters sayfasına gidin.
Ana Gezinme Menüsü altında: ≡ -> AI Platformu -> İşlem Hatları
Bu öğreticide kullandığınız küme satırında, Pipelines Dashboard'u Aç öğesine tıklayın.
Başlarken sayfasında, Google Cloud'da bir Bulut AI Platformu Not Defteri Aç 'ı tıklayın.
Bu öğretici için kullandığınız Defter örneğini seçin ve Devam'ı ve ardından Onayla'yı seçin.
5. Defterde çalışmaya devam edin
Düzenlemek
Başlangıç Not Defteri, Jupyter Lab'ın çalıştığı VM'ye TFX ve Kubeflow Pipelines (KFP) yükleyerek başlar.
Ardından TFX'in hangi sürümünün kurulu olduğunu kontrol eder, içe aktarma yapar ve Proje Kimliğini ayarlar ve yazdırır:
Google Cloud hizmetlerinizle bağlantı kurun
İşlem hattı yapılandırması, not defterinden alıp ç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üme uç noktanızı ayarlayın.
Bu, Pipelines panosunun URL'sinden bulunabilir. Kubeflow Pipeline panosuna gidin ve URL'ye bakın. Bitiş noktası, https://
ile başlayan ve googleusercontent.com
dahil olmak üzere URL'deki 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 eğitimde my_pipeline
.
PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)
Not defteri daha sonra işlem hattı şablonunu kopyalamak için tfx
CLI'yi kullanır. Bu öğretici, ikili sınıflandırma gerçekleştirmek için Chicago Taksi veri kümesini kullanır, bu nedenle ş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}
İşlem hattı dosyalarına göz atın
Cloud AI Platform Notebook'un sol tarafında bir dosya tarayıcısı görmelisiniz. İşlem hattı adınızla ( my_pipeline
) bir dizin olmalıdır. Açın ve dosyaları görüntüleyin. (Onları açıp not defteri ortamından da düzenleyebilirsiniz.)
# You can also list the files from the shell
ls
Yukarıdaki tfx template copy
komutu, bir işlem hattı oluşturan temel bir dosya iskelesi oluşturdu. Bunlara Python kaynak kodları, örnek veriler ve Jupyter not defterleri dahildir. Bunlar, bu özel örnek içindir. 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ı koşucuları için ortak sabitleri tanımlar -
pipeline.py
hattı.py — TFX bileşenlerini ve bir işlem hattını tanımlar
-
-
models
- Bu dizin, ML model tanımlarını içerir.- feature.py
features_test.py
— modelinfeatures.py
tanımlar -
preprocessing.py
/preprocessing_test.py
—tf::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 tahmincisi 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
-
- feature.py
-
beam_runner.py
/kubeflow_runner.py
— her düzenleme motoru için koşucular tanımlayın
7. İlk TFX ardışık düzeninizi Kubeflow'ta çalıştırın
Not defteri, tfx run
CLI komutunu kullanarak işlem hattını çalıştıracaktır.
Depolamaya bağlan
Çalışan işlem hatları, ML-Metadata içinde depolanması gereken yapılar oluşturur. Yapıtlar, bir dosya sisteminde veya blok depolamada saklanması gereken dosyalar olan yükleri ifade eder. Bu eğitimde, kurulum sırasında otomatik olarak oluşturulan paketi kullanarak meta veri yüklerimizi depolamak için GCS'yi kullanacağız. Adı <your-project-id>-kubeflowpipelines-default
.
İşlem hattını oluşturun
Not defteri, daha sonra ardışık düzenimizde kullanabilmemiz için örnek verilerimizi 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, bir Docker görüntüsü oluşturmak için Dockerfile
oluşturulur. Bu dosyaları diğer kaynak dosyalarla birlikte kaynak kontrol sisteminize (örneğin git) eklemeyi unutmayın.
Boru hattını çalıştırın
Not defteri 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 Dashboard'daki Denemeler altında listelendiğini de göreceksiniz.
tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}
İşlem hattınızı Kubeflow Pipelines Dashboard'dan görüntüleyebilirsiniz.
8. Verilerinizi doğrulayın
Herhangi bir veri bilimi veya makine öğrenimi projesindeki ilk görev, verileri anlamak ve temizlemektir.
- Her özellik için veri türlerini anlayın
- Anormallikleri ve eksik değerleri arayın
- Her özelliğin dağılımlarını anlayın
Bileşenler
- ExampleGen , giriş veri kümesini alır ve böler.
- İstatistiklerGen , veri kümesi için istatistikleri hesaplar.
- SchemaGen SchemaGen istatistikleri inceler ve bir veri şeması oluşturur.
- ExampleValidator , veri kümesindeki anormallikleri ve eksik değerleri arar.
Jupyter lab dosya düzenleyicisinde:
pipeline
/ pipeline.py
hattı.py içinde, bu bileşenleri işlem hattınıza ekleyen satırların yorumunu kaldırın:
# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)
(Şablon dosyaları kopyalandığında ExampleGen
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 panosunu ziyaret edin ve işlem hattı çalıştırmanız için sayfada işlem hattı çıktılarını bulun. Soldaki "Deneyler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adıyla çalıştırmayı bulabilmelisiniz.
Daha gelişmiş örnek
Burada sunulan örnek, gerçekten yalnızca başlamanıza yöneliktir. Daha gelişmiş bir örnek için TensorFlow Data Validation Colab'a bakın.
Bir veri kümesini keşfetmek ve doğrulamak için 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 tahmine dayalı kalitesini artırabilir ve/veya boyutluluğu 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 elde edilen dönüşümlerin eğitim ile hizmet arasında tutarlı olmasıdır.
Bileşenler
- Transform , veri kümesinde özellik mühendisliği gerçekleştirir.
Jupyter lab dosya düzenleyicisinde:
pipeline
/ pipeline.py
hattı.py içinde, boru hattına Dönüştür öğesinin eklendiği satırı bulun ve yorumunu 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 panosunu ziyaret edin ve işlem hattı çalıştırmanız için sayfada işlem hattı çıktılarını bulun. Soldaki "Deneyler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adıyla çalıştırmayı bulabilmelisiniz.
Daha gelişmiş örnek
Burada sunulan örnek, gerçekten yalnızca başlamanıza yöneliktir. 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 modeli 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 kullanarak eğitim sürecini görselleştirin ve keşfedin
- Ayrıca model performansının analizi için bir EvalSavedModel kaydedin
Bileşenler
- Trainer , bir TensorFlow modelini eğitir.
Jupyter lab dosya düzenleyicisinde:
pipeline
/ pipeline.py
içinde, Trainer'ı ardışık düzene ekleyen öğesini bulun ve yorumunu 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 panosunu ziyaret edin ve işlem hattı çalıştırmanız için sayfada işlem hattı çıktılarını bulun. Soldaki "Deneyler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adıyla çalıştırmayı bulabilmelisiniz.
Daha gelişmiş örnek
Burada sunulan örnek, gerçekten yalnızca başlamanıza yöneliktir. Daha gelişmiş bir örnek için TensorBoard Eğitimine bakın.
11. Model performansını analiz etme
En üst düzey metriklerden daha fazlasını anlama.
- Kullanıcılar yalnızca sorguları için model performansını deneyimler
- Veri dilimlerindeki düşük performans, üst düzey metrikler tarafından gizlenebilir
- Model adaleti önemlidir
- Kullanıcıların veya verilerin temel alt kümeleri genellikle çok önemlidir ve küçük olabilir
- Kritik ancak olağandışı koşullarda performans
- Etkileyenler gibi önemli kitleler için performans
- Halihazırda üretimde olan bir modeli değiştiriyorsanız, önce yenisinin daha iyi olduğundan emin olun.
Bileşenler
- Değerlendirici , eğitim sonuçlarının derin analizini gerçekleştirir.
Jupyter lab dosya düzenleyicisinde:
pipeline
/ pipeline.py
hattı.py içinde, Değerlendiriciyi boru hattına ekleyen satırı bulun ve yorumunu 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 panosunu ziyaret edin ve işlem hattı çalıştırmanız için sayfada işlem hattı çıktılarını bulun. Soldaki "Deneyler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adıyla çalıştırmayı bulabilmelisiniz.
12. Modele hizmet etmek
Yeni model hazırsa, öyle yapın.
- Pusher, SavedModel'leri iyi bilinen konumlara dağıtır
Dağıtım hedefleri, iyi bilinen konumlardan yeni modeller alır
- TensorFlow Sunumu
- TensorFlow Lite
- TensorFlow JS
- TensorFlow Merkezi
Bileşenler
- Pusher , modeli hizmet veren bir altyapıya dağıtır.
Jupyter lab dosya düzenleyicisinde:
pipeline
/ pipeline.py
hattı.py içinde, boru hattına İtici ekleyen satırı bulun ve yorumunu kaldırın:
# components.append(pusher)
Boru hattı çıkışlarını kontrol edin
Kubeflow Orchestrator için KFP panosunu ziyaret edin ve işlem hattı çalıştırmanız için sayfada işlem hattı çıktılarını bulun. Soldaki "Deneyler" sekmesini ve Deneyler sayfasında "Tüm çalıştırmalar"ı tıklayın. İşlem hattınızın adıyla ç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 de dahil olmak üzere TensorFlow dağıtım hedeflerinden herhangi birine dağıtabilirsiniz:
- Modelinize bir sunucu veya sunucu grubunda hizmet vermek ve REST ve/veya gRPC çıkarım isteklerini işlemek için TensorFlow Serving .
- Modelinizi bir Android veya iOS yerel mobil uygulamasına veya bir 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, gerçekten yalnızca başlamanıza yöneliktir. Aşağıda, diğer Bulut hizmetleriyle entegrasyona ilişkin bazı örnekler verilmiştir.
Kubeflow Pipelines kaynak konuları
İş 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
KubeflowDagRunnerConfig
kullanarak kaynak yapılandırmalarınızı özelleştirebilirsiniz.
pipeline_operator_funcs
, KubeflowDagRunner
derlenen KFP ardışık düzen özelliğinde 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 için set_memory_request
kullanabiliriz. Bunu yapmanın tipik bir yolu, set_memory_request
için bir sarmalayıcı oluşturmak ve onu OpFunc
boru hattı 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'te eğitim örnekleri için bir kaynak olarak kullanılabilir. Bu adımda, ardışık BigQueryExampleGen
ekleyeceğiz.
Jupyter lab dosya düzenleyicisinde:
pipeline.py
açmak için çift tıklayın . CsvExampleGen
ve BigQueryExampleGen
örneğini oluşturan satırın yorumunu kaldırın. Ayrıca create_pipeline
işlevinin query
bağımsız değişkenini açıklamayı kaldırmanız gerekir.
BigQuery için hangi GCP projesini kullanacağımızı belirtmemiz gerekiyor ve bu, bir ardışık düzen oluştururken --project
içinde beam_pipeline_args
ayarlanarak 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ımı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ı, ardışık düzen adını değiştirmediyseniz, my_pipeline
olan ardışık düzenin adıdır.
kubeflow_runner.py
açmak için çift tıklayın . create_pipeline
işlevi için query
ve beam_pipeline_args
olmak üzere iki bağımsız değişkeni kaldırın.
Artık işlem hattı, örnek kaynak olarak BigQuery'yi kullanmaya hazır. İşlem hattını önceki gibi güncelleyin ve 5. ve 6. adımda 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
Birkaç TFX Bileşeni, veri paralel ardışık düzenleri uygulamak için Apache Beam'i kullanır ve bu, Google Cloud Dataflow kullanarak veri işleme iş yüklerini dağıtabileceğiniz anlamına gelir. Bu adımda, Kubeflow düzenleyicisini Dataflow'u Apache Beam için veri işleme arka ucu olarak 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
düzene çift tıklayın ve configs.py
açmak için çift tıklayın . GOOGLE_CLOUD_REGION
ve DATAFLOW_BEAM_PIPELINE_ARGS
tanımını kaldırın.
Dizini bir seviye yukarı değiştirin. Dosya listesinin üstündeki dizinin adına tıklayın. Dizinin adı, değiştirmediyseniz my_pipeline
olan ardışık düzenin adıdır.
kubeflow_runner.py
açmak için çift tıklayın . beam_pipeline_args
. (Ayrıca 7. Adımda eklediğiniz mevcut beam_pipeline_args
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'ta bulabilirsiniz.
KFP ile Cloud AI Platform Eğitimini ve Tahminini Deneyin
TFX, Eğitim ve Tahmin için Cloud AI Platform gibi çeşitli yönetilen GCP hizmetleriyle birlikte çalışır. Trainer
bileşeninizi, makine öğrenimi modellerini eğitmek için yönetilen bir hizmet olan Cloud AI Platform Training'i kullanacak şekilde ayarlayabilirsiniz. Ayrıca, 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
düzene ç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ı kaldırın. Cloud AI Platform Training'de bir modeli eğitmek için özel olarak oluşturulmuş kapsayıcı imajımızı kullanacağız, bu nedenle masterConfig.imageUri
içindeki GCP_AI_PLATFORM_TRAINING_ARGS
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
.
İş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 Jobs'ta bulabilirsiniz. Ardışık düzeniniz 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ı dahil olmak üzere, ardışık düzenin erişebildiği her yerde depolanabilir.
Verilerinizi barındırmak için işlem hattı tanımını değiştirmeniz gerekir.
Verileriniz dosyalarda saklanıyorsa
- DATA_PATH
kubeflow_runner.py
DATA_PATH
içinde konumu belirterek değiştirin.
Verileriniz BigQuery'de depolanıyorsa
-
BIG_QUERY_QUERY
içindeki BIG_QUERY_QUERY'yi sorgu ifadenize göre değiştirin. -
models
/ feature.py dosyasınafeatures.py
ekleyin. - Eğitim için girdi verilerini dönüştürmek için
models
/preprocessing.py
değiştirin. - ML modelinizi açıklamak için
models
/keras
/model.py
vemodels
/keras
/constants.py
değiştirin.
Eğitmen hakkında daha fazla bilgi edinin
Eğitim işlem hatları hakkında daha fazla ayrıntı için Eğitmen bileşeni kılavuzuna bakın.
Temizlemek
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ı tek tek temizleyebilirsiniz: - Google Bulut Depolama - Google Container Registry - Google Kubernetes Engine