Giriş
Bu eğitici, TensorFlow Extended (TFX) ve Cloud AI Platform 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 dizüstü bilgisayarlarda 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 bir çalışmanın sonuçlarını görselleştirebilecek ve oluşturulan eserlerin soyunu görüntüleyebileceksiniz.
Veri kümesini inceleyerek başlayıp eksiksiz bir çalışan ardışık düzen ile biten tipik bir ML geliştirme sürecini takip edeceksiniz. Yol boyunca ardışık düzeninizde hata ayıklama ve güncelleme yollarını keşfedecek ve performansı ölçeceksiniz.
Chicago Taksi Veri Kümesi
Chicago Şehri tarafından yayınlanan Taxi Trips veri kümesini kullanıyorsunuz.
Google BigQuery'deki veri kümesi hakkında daha fazla bilgi edinebilirsiniz. BigQuery kullanıcı arayüzündeki tüm veri kümesini keşfedin.
Model Hedef - İ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 ayarlayın
Başlamak için bir Google Cloud Hesabına ihtiyacınız var. Zaten bir projeniz varsa, Yeni Proje Oluşturma adımına geçin.
Google Cloud şartlar ve koşullarını kabul edin
Ücretsiz bir deneme hesabıyla başlamak istiyorsanız, Ücretsiz Deneyin (veya Ücretsiz Başlayın ) seçeneğine tıklayın.
Ülkeni seç.
Hizmet şartlarını kabul edin.
Fatura ayrıntılarını girin.
Bu noktada ücretlendirilmeyeceksiniz. Başka Google Cloud projeniz yoksa bu eğiticiyi, aynı anda çalışan maksimum 8 çekirdek içeren Google Cloud Ücretsiz Katman sınırlarını aşmadan tamamlayabilirsiniz.
1.b Yeni bir proje oluşturun.
- 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.
- 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çin.
2. Yeni bir Kubernetes kümesinde bir AI Platform Pipeline kurun ve dağıtın
AI Platform Ardışık Düzen Kümeleri sayfasına gidin.
Ana Gezinme Menüsü altında: ≡> AI Platformu> Boru Hatları
Yeni bir küme oluşturmak için + Yeni Örnek'i tıklayın.
Kubeflow Ardışık Düzenlerine genel bakış sayfasında Yapılandır'ı tıklayın.
Kubernetes Engine API'leri sizin için etkinleştirilirken devam etmeden önce birkaç dakika beklemeniz gerekebilir.
Kubeflow Ardışık Düzenlerini Dağıt sayfasında:
Kümeniz için bir bölge (veya "bölge") seçin.
ÖNEMLİ Aşağıdaki bulut API'lerine erişime izin ver etiketli kutuyu işaretleyin. (Bu, bu kümenin projenizin diğer parçalarına erişmesi için gereklidir. Bu adımı kaçırırsanız, daha sonra düzeltmek biraz zordur.)
Oluştur'a tıklayın ve küme oluşturulana kadar birkaç dakika bekleyin.
Bir ad alanı ve örnek adı seçin (varsayılanları kullanmak iyidir). Yönetilen depolamayı kullan seçeneğini işaretlemeniz gerekmez.
Dağıt'a tıklayın ve ardışık düzen dağıtılıncaya kadar birkaç dakika bekleyin. Kubeflow Ardışık Düzenlerini dağıtarak Hizmet Şartları'nı kabul etmiş olursunuz.
3. Cloud AI Platform Notebook örneğini kurun.
AI Platform Not Defterleri sayfasına gidin.
Ana Gezinme Menüsü altında: ≡ -> AI Platformu -> Not Defterleri
İstenirse Compute Engine API'yi etkinleştirin.
TensorFlow 2.1 (veya üzeri) kurulu olan Yeni Bir Örnek Oluşturun.
Yeni Örnek -> TensorFlow 2.1 -> GPU'suz
Ücretsiz Kullanım sınırları içinde kalmak için, burada varsayılan ayarları kabul etmeyin. Bu örnek için kullanılabilen vCPU sayısını 4'ten 2'ye düşürmeniz gerekiyor:
- Yeni not defteri örneği formunun altındaki Özelleştir'i seçin.
1 veya 2 vCPU'lu bir Makine yapılandırması seçin.
4. Başlangıç Defterini Başlatın
AI Platform Ardışık Düzen Kümeleri sayfasına gidin.
Ana Gezinme Menüsü altında: ≡ -> AI Platformu -> Boru Hatları
Bu eğiticide kullandığınız küme satırında, Ardışık Düzen Panosunu Aç'ı tıklayın.
Başlarken sayfasında, TF 2.1 Not Defterini Aç'ı tıklayın.
Bu eğitim için kullandığınız Not Defteri örneğini seçin ve Devam edin .
5. Dizüstü bilgisayarda çalışmaya devam edin
Yüklemek
Başlarken Not Defteri, Jupyter Lab'ın çalıştığı VM'ye , Skaffold modülüyle birlikte TFX ve Kubeflow Pipelines (KFP) kurarak başlar:
Daha sonra ayarlar PATH
kullanıcı Python ikili dizin ve bir dizin içeren eklemeyi skaffold
:
Daha sonra hangi TFX sürümünün kurulu olduğunu kontrol eder, içe aktarır ve Proje Kimliğini ayarlar ve yazdırır:
Google Cloud hizmetlerinize bağlanın
Boru hattı yapılandırması, dizüstü bilgisayardan edinebileceğ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üme uç noktanızı ayarlayın.
Bu, Ardışık Düzen kontrol panelinin URL'sinde bulunabilir. Kubeflow Pipeline panosuna gidin ve URL'ye bakın. Uç nokta, googleusercontent.com
kadar ve dahil olmak üzere https://
sonra URL'de bulunan her şeydir.
ENDPOINT='' # Enter YOUR ENDPOINT here.
Daha sonra not defteri, ö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
Ardışık düzeniniz için bir ad ayarlamak için 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)
Defter daha sonra tfx
şablonunu kopyalamak için tfx
CLI'yi kullanır. Bu eğitici, ikili sınıflandırma gerçekleştirmek için Chicago Taxi veri kümesini kullanır, bu nedenle şablon modeli taxi
ayarlar:
!tfx template copy \
--pipeline-name={PIPELINE_NAME} \
--destination-path={PROJECT_DIR} \
--model=taxi
Ardından not defteri, CWD bağlamını proje dizinine değiştirir:
%cd {PROJECT_DIR}
Ardışık düzen dosyalarına göz atın
Cloud AI Platform Not Defterinin sol tarafında bir dosya tarayıcısı görmelisiniz. my_pipeline
hattı adınızı ( my_pipeline
) içeren bir dizin olmalıdır. Açın ve dosyaları görüntüleyin. (Bunları not defteri ortamından da açıp düzenleyebileceksiniz.)
# You can also list the files from the shell
ls
Yukarıdaki tfx template copy
komutu, bir ardışık tfx template copy
temel bir dosya iskelesi oluşturdu. Bunlar Python kaynak kodlarını, örnek verileri ve Jupyter not defterlerini içerir. Bunlar, bu özel örnek içindir. Kendi ardışık düzenleriniz için bunlar, ardışık düzeninizin gerektirdiği destekleyici dosyalar olacaktır.
Python dosyalarının kısa açıklaması burada.
-
pipeline
- Bu dizin, ardışık düzen tanımını içerir-
configs.py
-configs.py
koşucuları 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.py
-tf::Transform
kullanarak önişleme işlerini tanımlar -
estimator
- Bu dizin Tahminciye dayalı bir model içerir.-
constants.py
- modelin sabitlerini tanımlar -
model.py
/model_test.py
- TF tahmincisini kullanarak DNN modelini tanımlar
-
-
keras
- Bu dizinkeras
tabanlı bir model içerir.-
constants.py
- modelin sabitlerini tanımlar -
model.py
/model_test.py
-model_test.py
kullanarak DNN modelini tanımlar
-
-
-
beam_dag_runner.py
/kubeflow_dag_runner.py
- her düzenleme motoru için koşucuları tanımlar
7. İlk TFX ardışık düzeninizi Kubeflow'da çalıştırın
Dizüstü bilgisayar, tfx run
CLI komutunu kullanarak ardışık tfx run
.
Depoya bağlan
Çalışan ardışık düzenler, ML-Metadata'da depolanması gereken yapılar oluşturur . Yapılar, bir dosya sisteminde veya blok depolamada depolanması gereken dosyalar olan yükleri ifade eder. Bu eğiticide, 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, ö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/data.csv
Defter daha sonra tfx pipeline create
için tfx pipeline create
komutunu kullanır.
!tfx pipeline create \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT} \
--build-target-image={CUSTOM_TFX_IMAGE}
Bir işlem hattı oluştururken Dockerfile
ve build.yaml
, bir Docker görüntüsü oluşturmak için 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 tfx run create
yürütme çalışmasını başlatmak için tfx run create
komutunu kullanır. Bu çalıştırmanın Kubeflow Pipelines Dashboard'daki Experiments altında da listelendiğini göreceksiniz.
tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}
Ardışık düzeninizi 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 özelliğ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 girdi veri setini alır ve böler.
- StatisticsGen , 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 laboratuar dosyası düzenleyicisinde:
pipeline
/ pipeline.py
, bu bileşenleri pipeline.py
düzeninize ekleyen satırları kaldırın:
# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)
(Şablon dosyaları kopyalandığında ExampleGen
zaten etkinleştirildi.)
İşlem hattını güncelleyin ve yeniden çalıştırın
# Update the pipeline
! tfx pipeline update \
--pipeline-path=kubeflow_dag_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 ardışık düzen çalıştırmanız için sayfada ardışık düzen çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Denemeler sayfasında "Tüm çalıştırmalar" ı tıklayın. İşlemi ardışık düzeninizin adıyla bulabilmelisiniz.
Daha gelişmiş örnek
Burada sunulan örnek gerçekten sadece başlamanıza yöneliktir. Daha gelişmiş bir örnek için TensorFlow Data Validation Colab'e 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 tahmin kalitesini artırabilir ve / veya boyutsallığı azaltabilirsiniz.
- Özellik geçişleri
- Kelime dağarcığı
- Gömme
- PCA
- Kategorik kodlama
TFX kullanmanın faydalarından biri, dönüşüm kodunuzu bir kez yazmanız ve sonuçta ortaya çıkan dönüşümlerin eğitim ve sunum arasında tutarlı olmasıdır.
Bileşenler
- Dönüşüm , veri kümesinde özellik mühendisliği gerçekleştirir.
Jupyter laboratuar dosyası düzenleyicisinde:
pipeline
/ pipeline.py
, Dönüşüm'ü ardışık düzene 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_dag_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Boru hattı çıktılarını kontrol edin
Kubeflow Orchestrator için, KFP kontrol panelini ziyaret edin ve ardışık düzen çalıştırmanız için sayfada ardışık düzen çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Denemeler sayfasında "Tüm çalıştırmalar" ı tıklayın. İşlemi ardışık düzeninizin adıyla bulabilmelisiniz.
Daha gelişmiş örnek
Burada sunulan örnek gerçekten sadece başlamanıza yöneliktir. Daha gelişmiş bir örnek için bkz. TensorFlow Transform Colab .
10. Eğitim
Güzel, temiz, dönüştürülmüş verilerinizle bir TensorFlow modeli eğitin.
- Tutarlı bir şekilde uygulanabilmeleri 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
- Eğitmen bir TensorFlow modelini eğitir.
Jupyter laboratuar dosyası düzenleyicisinde:
pipeline
/ pipeline.py
, Trainer'ı ardışık düzene 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_dag_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Boru hattı çıktılarını kontrol edin
Kubeflow Orchestrator için, KFP kontrol panelini ziyaret edin ve ardışık düzen çalıştırmanız için sayfada ardışık düzen çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Denemeler sayfasında "Tüm çalıştırmalar" ı tıklayın. İşlemi ardışık düzeninizin adıyla bulabilmelisiniz.
Daha gelişmiş örnek
Burada sunulan örnek gerçekten sadece başlamanıza yöneliktir. 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ı anlamak.
- Kullanıcılar yalnızca sorguları için model performansı yaşarlar
- Veri dilimlerinde düşük performans, üst düzey ölçümlerle gizlenebilir
- Model adaleti önemlidir
- Genellikle kullanıcı veya verilerin temel alt kümeleri çok önemlidir ve küçük olabilir
- Kritik ancak olağandışı koşullarda performans
- Etkileyenler gibi kilit kitleler için performans
- Şu anda ü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 derinlemesine analizini gerçekleştirir.
Jupyter laboratuar dosyası düzenleyicisinde:
pipeline
/ pipeline.py
, Evaluator'ı pipeline'a ekleyen satırı bulun ve uncomment:
components.append(evaluator)
İşlem hattını güncelleyin ve yeniden çalıştırın
# Update the pipeline
! tfx pipeline update \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Boru hattı çıktılarını kontrol edin
Kubeflow Orchestrator için, KFP kontrol panelini ziyaret edin ve ardışık düzen çalıştırmanız için sayfada ardışık düzen çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Denemeler sayfasında "Tüm çalıştırmalar" ı tıklayın. İşlemi ardışık düzeninizin adıyla bulabilmelisiniz.
12. Modeli sunmak
Yeni model hazırsa, hazırlayın.
- Pusher, SavedModels'i iyi bilinen konumlara dağıtır
Dağıtım hedefleri, iyi bilinen konumlardan yeni modeller alır
- TensorFlow Sunumu
- TensorFlow Lite
- TensorFlow JS
- TensorFlow Hub
Bileşenler
- İtici , modeli bir hizmet altyapısına dağıtır.
Jupyter laboratuar dosyası düzenleyicisinde:
pipeline
/ pipeline.py
, Pusher'ı pipeline.py
düzene ekleyen satırı bulun ve açıklamasını kaldırın:
# components.append(pusher)
Boru hattı çıktılarını kontrol edin
Kubeflow Orchestrator için, KFP kontrol panelini ziyaret edin ve ardışık düzen çalıştırmanız için sayfada ardışık düzen çıktılarını bulun. Soldaki "Denemeler" sekmesini ve Denemeler sayfasında "Tüm çalıştırmalar" ı tıklayın. İşlemi ardışık düzeninizin adıyla 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:
- Modelinize bir sunucu veya sunucu çiftliğinde hizmet vermek ve REST ve / veya gRPC çıkarım isteklerini işlemek için TensorFlow Sunumu.
- TensorFlow Lite , modelinizi bir Android veya iOS yerel mobil uygulamasına veya bir Raspberry Pi, IoT veya mikrodenetleyici uygulamasına dahil etmek için.
- 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 sadece başlamanıza yardımcı olmak içindir. Aşağıda, diğer Bulut hizmetleriyle bazı entegrasyon örnekleri verilmiştir.
Kubeflow Pipelines kaynak konuları
İş yükünüzün gereksinimlerine bağlı olarak, Kubeflow Pipelines dağıtımınız için varsayılan yapılandırma ihtiyaçlarınızı karşılayabilir veya karşılamayabilir. Kaynak yapılandırmalarınızı KubeflowDagRunnerConfig
çağrınızda pipeline_operator_funcs
kullanarak özelleştirebilirsiniz.
pipeline_operator_funcs
, OpFunc
derlenen KFP ardışık KubeflowDagRunner
spesifikasyonunda oluşturulan tüm ContainerOp
örneklerini dönüştüren OpFunc
öğelerinin bir listesidir.
Örneğin, belleği yapılandırmak için gerekli 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 bunu ardışık 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 oranda ölçeklenebilir ve uygun maliyetli bir bulut veri ambarıdır. BigQuery, TFX'teki eğitim örnekleri için bir kaynak olarak kullanılabilir. Bu adımda, ardışık BigQueryExampleGen
ekleyeceğiz.
Jupyter laboratuar dosyası düzenleyicisinde:
pipeline.py
açmak için çift tıklayın . CsvExampleGen
ve BigQueryExampleGen
örneğini oluşturan satırın açıklamasını CsvExampleGen
. Ayrıca create_pipeline
işlevinin query
bağımsız değişkeninin açıklamasını kaldırmanız gerekir.
BigQuery için hangi GCP projesinin kullanılacağını belirtmemiz gerekiyor ve bu, bir ardışık beam_pipeline_args
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ımlarının BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS
BIG_QUERY_QUERY
. 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 yukarısındaki dizinin adını tıklayın. Dizinin adı, ardışık my_pipeline
adını değiştirmediyseniz, my_pipeline
olan my_pipeline
adıdır.
kubeflow_dag_runner.py
açmak için çift tıklayın . Uncomment iki argüman, query
ve beam_pipeline_args
için, create_pipeline
fonksiyonu.
Artık ardışık düzen, örnek kaynak olarak BigQuery'yi kullanmaya hazırdır. İşlem hattını önceki gibi güncelleyin ve 5. ve 6. adımlarda yaptığımız gibi yeni bir yürütme çalışması oluşturun.
İşlem hattını güncelleyin ve yeniden çalıştırın
# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT}
!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}
Dataflow'u deneyin
Çeşitli TFX Bileşenleri , paralel veri ardışık düzenlerini uygulamak için Apache Beam kullanır ve bu, veri işleme iş yüklerini Google Cloud Dataflow kullanarak 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
Çift tıklayın pipeline
değişim dizinine ve açık çift tıklama configs.py
. GOOGLE_CLOUD_REGION
ve DATAFLOW_BEAM_PIPELINE_ARGS
tanımlarının açıklamasını DATAFLOW_BEAM_PIPELINE_ARGS
.
Dizini bir seviye yukarı değiştirin. Dosya listesinin yukarısındaki dizinin adını tıklayın. Dizinin adı, değiştirmediyseniz my_pipeline
olan ardışık my_pipeline
.
kubeflow_dag_runner.py
açmak için çift tıklayın . beam_pipeline_args
. (Ayrıca 7. Adımda eklediğiniz mevcut beam_pipeline_args
da 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_dag_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ğitimi 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, ML modellerini eğitmek için yönetilen bir hizmet olan Cloud AI Platform Training'i kullanacak şekilde ayarlayabilirsiniz. Modeliniz hizmet için inşa ve hazır olduğunda Üstelik, sen hizmet için Bulut AI Platformu Prediction modelinizi zorlayabilir. Bu adımda, Trainer
ve Pusher
bileşenimizi Cloud AI Platform hizmetlerini kullanacak şekilde ayarlayacağız.
Dosyaları düzenlemeden önce, önce AI Platform Training & Prediction API'yi etkinleştirmeniz gerekebilir.
Çift tıklayın pipeline
değişim dizinine ve açık çift tıklama configs.py
. GOOGLE_CLOUD_REGION
, GCP_AI_PLATFORM_TRAINING_ARGS
ve GCP_AI_PLATFORM_SERVING_ARGS
tanımlarının GCP_AI_PLATFORM_TRAINING_ARGS
GCP_AI_PLATFORM_SERVING_ARGS
. Cloud AI Platform Training'de bir model eğitmek için özel oluşturulmuş kapsayıcı imajımızı kullanacağız, bu nedenle masterConfig.imageUri
GCP_AI_PLATFORM_TRAINING_ARGS
ile aynı değere CUSTOM_TFX_IMAGE
.
Dizini bir seviye yukarı değiştirin ve kubeflow_dag_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_dag_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 Modellerinde bulabilirsiniz .
14. Kendi verilerinizi kullanın
Bu eğiticide, Chicago Taxi veri kümesini kullanarak bir model için bir ardışık düzen oluşturdunuz. Şimdi kendi verilerinizi boru hattına eklemeyi deneyin. Verileriniz, Google Cloud Storage, BigQuery veya CSV dosyaları dahil olmak üzere ardışık düzenin erişebileceği her yerde depolanabilir.
Verilerinizi barındırmak için ardışık düzen tanımını değiştirmeniz gerekir.
Verileriniz dosyalarda saklanıyorsa
-
DATA_PATH
içindekikubeflow_dag_runner.py
konumu belirterek değiştirin.
Verileriniz BigQuery'de depolanıyorsa
-
BIG_QUERY_QUERY
içindeki BIG_QUERY_QUERY'yi sorgu ifadenize değiştirin. -
models
/features.py
models
özellikler ekleyin. - Eğitim için giriş verilerini dönüştürmek için
models
/preprocessing.py
değiştirin. -
keras
models
tanımlamak içinmodels
/keras
/model.py
vemodels
/keras
/constants.py
değiştirin.
Eğitmen hakkında daha fazla bilgi edinin
Eğitim ardışık düzenleri hakkında daha fazla ayrıntı için Eğitmen bileşen kılavuzuna bakın.
Temizlemek
Bu projede kullanılan tüm Google Cloud kaynaklarını temizlemek için eğitici için kullandığınız Google Cloud projesini silebilirsiniz .
Alternatif olarak, her konsolu ziyaret ederek ayrı kaynakları temizleyebilirsiniz: - Google Bulut Depolama - Google Container Registry - Google Kubernetes Engine