Trang này được dịch bởi Cloud Translation API.
Switch to English

TFX trên nền tảng Cloud AI

Giới thiệu

Hướng dẫn này được thiết kế để giới thiệu TensorFlow Extended (TFX) và Cloud AI Platform Pipelines, đồng thời giúp bạn tìm hiểu cách tạo các đường dẫn machine learning của riêng mình trên Google Cloud. Nó cho thấy sự tích hợp với TFX, Đường ống nền tảng AI và Kubeflow, cũng như tương tác với TFX trong máy tính xách tay Jupyter.

Ở cuối hướng dẫn này, bạn sẽ tạo và chạy một Đường ống ML, được lưu trữ trên Google Cloud. Bạn sẽ có thể hình dung kết quả của mỗi lần chạy và xem dòng dõi của các tạo tác đã tạo.

Bạn sẽ làm theo một quy trình phát triển ML điển hình, bắt đầu bằng cách kiểm tra tập dữ liệu và kết thúc với một đường dẫn hoạt động hoàn chỉnh. Trong quá trình này, bạn sẽ khám phá các cách gỡ lỗi và cập nhật đường dẫn của mình cũng như đo lường hiệu suất.

Chicago Taxi Dataset

xe tắc xiTaxi Chicago

Bạn đang sử dụng tập dữ liệu Chuyến đi taxi do Thành phố Chicago phát hành.

Bạn có thể đọc thêm về tập dữ liệu trong Google BigQuery . Khám phá tập dữ liệu đầy đủ trong giao diện người dùng BigQuery .

Mục tiêu mô hình - Phân loại nhị phân

Khách hàng sẽ boa nhiều hơn hay ít hơn 20%?

1. Thiết lập dự án Google Cloud

1.a Thiết lập môi trường của bạn trên Google Cloud

Để bắt đầu, bạn cần có Tài khoản Google Cloud. Nếu bạn đã có, hãy chuyển sang Tạo dự án mới .

  1. Đi tới Bảng điều khiển đám mây của Google .

  2. Đồng ý với các điều khoản và điều kiện của Google Cloud

  3. Nếu bạn muốn bắt đầu với tài khoản dùng thử miễn phí, hãy nhấp vào Dùng thử Miễn phí (hoặc Bắt đầu miễn phí ).

    1. Chọn đất nước của bạn.

    2. Đồng ý với điều khoản dịch vụ.

    3. Nhập chi tiết thanh toán.

      Bạn sẽ không bị tính phí vào thời điểm này. Nếu bạn không có dự án Google Cloud nào khác, bạn có thể hoàn thành hướng dẫn này mà không vượt quá giới hạn Cấp miễn phí của Google Cloud , bao gồm tối đa 8 lõi chạy cùng một lúc.

1.b Tạo một dự án mới.

  1. Từ trang tổng quan Google Cloud chính , nhấp vào menu thả xuống của dự án bên cạnh tiêu đề Google Cloud Platform và chọn Dự án mới .
  2. Đặt tên cho dự án của bạn và nhập các chi tiết khác của dự án
  3. Khi bạn đã tạo một dự án, hãy chọn dự án đó từ menu thả xuống của dự án.

2. Thiết lập và triển khai Đường ống nền tảng AI trên một cụm Kubernetes mới

  1. Truy cập trang Cụm đường ống nền tảng AI .

    Trong Menu điều hướng chính: ≡> Nền tảng AI> Đường ống

  2. Nhấp vào + Phiên bản mới để tạo một cụm mới.

  3. Trên trang tổng quan về Đường ống Kubeflow , nhấp vào Định cấu hình .

    Bạn có thể phải đợi vài phút trước khi tiếp tục, trong khi các API Kubernetes Engine đang được bật cho bạn.

  4. Trên trang Triển khai Kubeflow Pipelines :

    1. Chọn một vùng (hoặc "vùng") cho cụm của bạn.

    2. QUAN TRỌNG Chọn hộp có nhãn Cho phép truy cập vào các API đám mây sau . (Điều này là bắt buộc để cụm này có thể truy cập các phần khác của dự án của bạn. Nếu bạn bỏ lỡ bước này, việc sửa nó sau sẽ hơi phức tạp.)

    3. Nhấp vào Tạo và đợi vài phút cho đến khi cụm được tạo.

    4. Chọn một vùng tên và tên phiên bản (sử dụng các giá trị mặc định là tốt). Bạn không phải chọn Sử dụng bộ nhớ được quản lý .

    5. Nhấp vào Triển khai và đợi vài phút cho đến khi quy trình được triển khai. Bằng cách triển khai Kubeflow Pipelines, bạn chấp nhận Điều khoản dịch vụ.

3. Thiết lập phiên bản Cloud AI Platform Notebook.

  1. Truy cập trang Sổ tay nền tảng AI .

    Trong Menu điều hướng chính: ≡ -> Nền tảng AI -> Máy tính xách tay

  2. Nếu được nhắc, hãy bật API Công cụ tính toán.

  3. Tạo một phiên bản mới với TensorFlow 2.1 (hoặc cao hơn) được cài đặt.

    Phiên bản mới -> TensorFlow 2.1 -> Không có GPU

    Để ở trong giới hạn Bậc miễn phí, không chấp nhận cài đặt mặc định tại đây. Bạn cần giảm số lượng vCPU có sẵn cho phiên bản này từ 4 xuống 2:

    1. Chọn Tùy chỉnh ở cuối biểu mẫu bản sao Sổ ghi chép mới .
    2. Chọn cấu hình Máy có 1 hoặc 2 vCPU.

4. Khởi chạy Sổ tay Bắt đầu

  1. Truy cập trang Cụm đường ống nền tảng AI .

    Trong Menu điều hướng chính: ≡ -> Nền tảng AI -> Đường ống

  2. Trên dòng cho cụm bạn đang sử dụng trong hướng dẫn này, hãy nhấp vào Mở Bảng điều khiển đường ống .

    bảng điều khiển mở

  3. Trên trang Bắt đầu , bấm Mở Máy tính xách tay TF 2.1 .

  4. Chọn phiên bản Notebook bạn đang sử dụng cho hướng dẫn này và Tiếp tục .

    sổ tay chọn lọc

5. Tiếp tục làm việc trong Notebook

Tải về

Sổ tay Bắt đầu Khởi động bằng cách cài đặt Đường ống TFXKubeflow (KFP) vào máy ảo mà Jupyter Lab đang chạy, cùng với mô-đun Skaffold :

Cài đặt tf và kfp

Sau đó, nó đặt PATH bao gồm thư mục nhị phân Python của người dùng và thư mục chứa skaffold :

thiết lập đường dẫn

Sau đó, nó sẽ kiểm tra phiên bản TFX nào được cài đặt, thực hiện nhập, đặt và in ID dự án:

kiểm tra phiên bản python và nhập

Kết nối với các dịch vụ Google Cloud của bạn

Cấu hình đường ống cần ID dự án của bạn, bạn có thể lấy ID này qua sổ ghi chép và đặt làm biến môi trường.

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

Bây giờ hãy đặt điểm cuối cụm KFP của bạn.

Bạn có thể tìm thấy điều này từ URL của trang tổng quan Đường ống. Truy cập trang tổng quan Kubeflow Pipeline và xem URL. Điểm cuối là mọi thứ trong URL sau https:// , cho đến và bao gồm cả googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

Sau đó sổ ghi chép đặt một tên duy nhất cho hình ảnh Docker tùy chỉnh:

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

6. Sao chép một mẫu vào thư mục dự án của bạn

Chỉnh sửa ô sổ ghi chép tiếp theo để đặt tên cho đường dẫn của bạn. Trong hướng dẫn này, chúng tôi sẽ sử dụng my_pipeline .

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

Sau đó sổ ghi chép sử dụng tfx CLI để sao chép mẫu đường dẫn. Hướng dẫn này sử dụng tập dữ liệu Taxi Chicago để thực hiện phân loại nhị phân, do đó, mẫu đặt mô hình thành taxi :

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

Sau đó sổ ghi chép thay đổi ngữ cảnh CWD của nó thành thư mục dự án:

%cd {PROJECT_DIR}

Duyệt qua các tệp đường dẫn

Ở phía bên trái của Cloud AI Platform Notebook, bạn sẽ thấy một trình duyệt tệp. Phải có một thư mục với tên đường dẫn của bạn ( my_pipeline ). Mở nó và xem các tập tin. (Bạn cũng có thể mở chúng và chỉnh sửa từ môi trường sổ ghi chép.)

# You can also list the files from the shell
 ls

tfx template copy ở trên đã tạo một tfx template copy cơ bản để xây dựng đường ống. Chúng bao gồm mã nguồn Python, dữ liệu mẫu và sổ ghi chép Jupyter. Chúng có nghĩa là cho ví dụ cụ thể này. Đối với đường ống của riêng bạn, đây sẽ là các tệp hỗ trợ mà đường ống của bạn yêu cầu.

Đây là mô tả ngắn gọn về các tệp Python.

  • pipeline - Thư mục này chứa định nghĩa của đường ống
    • configs.py - định nghĩa các hằng số chung cho các trình chạy đường ống
    • pipeline.py - xác định các thành phần TFX và một đường ống
  • models - Thư mục này chứa các định nghĩa mô hình ML.
    • features.py features_test.py - xác định các tính năng cho mô hình
    • preprocessing.py / preprocessing_test.py - xác định các công việc tiền xử lý bằng cách sử dụng tf::Transform
    • estimator - Thư mục này chứa một mô hình dựa trên Công cụ ước tính.
      • constants.py - định nghĩa các hằng số của mô hình
      • model.py / model_test.py - xác định mô hình DNN bằng công cụ ước tính TF
    • keras - Thư mục này chứa mô hình dựa trên Keras.
      • constants.py - định nghĩa các hằng số của mô hình
      • model.py / model_test.py - xác định mô hình DNN bằng Keras
  • beam_dag_runner.py / kubeflow_dag_runner.py - xác định các trình chạy cho mỗi công cụ điều phối

7. Chạy đường dẫn TFX đầu tiên của bạn trên Kubeflow

Máy tính xách tay sẽ chạy đường ống bằng lệnh tfx run CLI.

Kết nối với bộ nhớ

Các đường ống đang chạy tạo ra các tạo tác phải được lưu trữ trong ML-Metadata . Phần mềm đề cập đến tải trọng, là các tệp phải được lưu trữ trong hệ thống tệp hoặc lưu trữ khối. Đối với hướng dẫn này, chúng tôi sẽ sử dụng GCS để lưu trữ các trọng tải siêu dữ liệu của chúng tôi, sử dụng nhóm được tạo tự động trong quá trình thiết lập. Sổ ghi chép có tên của các nhóm hiện tại:

Nhận danh sách tên nhóm:

gsutil ls | cut -d / -f 3

Sao chép tên của nhóm bạn đang sử dụng vào khay nhớ tạm.

Tạo đường dẫn

Sau đó, sổ ghi chép sử dụng lệnh tfx pipeline create để tạo đường ống.

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

Trong khi tạo đường dẫn, Dockerfilebuild.yaml sẽ được tạo để xây dựng hình ảnh Docker. Đừng quên thêm các tệp này vào hệ thống kiểm soát nguồn của bạn (ví dụ: git) cùng với các tệp nguồn khác.

Chạy đường ống

Sau đó, sổ ghi chép sử dụng lệnh tfx run create để bắt đầu quá trình chạy thực thi của đường ống của bạn. Bạn cũng sẽ thấy lần chạy này được liệt kê trong Thử nghiệm trong Trang tổng quan đường ống Kubeflow.

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

Bạn có thể xem đường dẫn của mình từ Bảng điều khiển đường ống Kubeflow.

8. Xác thực dữ liệu của bạn

Nhiệm vụ đầu tiên trong bất kỳ dự án khoa học dữ liệu hoặc ML nào là hiểu và làm sạch dữ liệu.

  • Hiểu các loại dữ liệu cho từng tính năng
  • Tìm kiếm các điểm bất thường và các giá trị bị thiếu
  • Hiểu các bản phân phối cho từng tính năng

Các thành phần

Thành phần dữ liệuThành phần dữ liệu

  • ExampleGen nhập và chia nhỏ tập dữ liệu đầu vào.
  • StatisticsGen tính toán thống kê cho tập dữ liệu.
  • SchemaGen SchemaGen kiểm tra thống kê và tạo một lược đồ dữ liệu.
  • ExampleValidator tìm kiếm những điểm bất thường và thiếu giá trị trong tập dữ liệu.

Trong trình chỉnh sửa tệp phòng thí nghiệm Jupyter:

Trong pipeline / pipeline.py , bỏ ghi chú các dòng nối các thành phần này vào đường dẫn của bạn:

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

( ExampleGen đã được bật khi các tệp mẫu được sao chép.)

Cập nhật đường dẫn và chạy lại nó

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

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

Kiểm tra đường ống

Đối với Kubeflow Orchestrator, hãy truy cập bảng điều khiển KFP và tìm đầu ra đường ống trong trang để chạy đường ống của bạn. Nhấp vào tab "Thử nghiệm" ở bên trái và "Tất cả các lần chạy" trong trang Thử nghiệm. Bạn sẽ có thể tìm thấy đường chạy với tên đường ống của bạn.

Ví dụ nâng cao hơn

Ví dụ được trình bày ở đây thực sự chỉ nhằm giúp bạn bắt đầu. Để có ví dụ nâng cao hơn, hãy xem Colab xác thực dữ liệu TensorFlow .

Để biết thêm thông tin về cách sử dụng TFDV để khám phá và xác thực tập dữ liệu, hãy xem các ví dụ trên tensorflow.org .

9. Kỹ thuật tính năng

Bạn có thể tăng chất lượng dự đoán của dữ liệu và / hoặc giảm kích thước bằng kỹ thuật tính năng.

  • Tính năng chéo
  • Từ vựng
  • Nhúng
  • PCA
  • Mã hóa phân loại

Một trong những lợi ích của việc sử dụng TFX là bạn sẽ viết mã chuyển đổi của mình một lần và kết quả chuyển đổi sẽ nhất quán giữa đào tạo và phục vụ.

Các thành phần

Biến đổi

  • Transform thực hiện kỹ thuật tính năng trên tập dữ liệu.

Trong trình chỉnh sửa tệp phòng thí nghiệm Jupyter:

Trong pipeline / pipeline.py , hãy tìm và bỏ ghi chú dòng nối Chuyển đổi vào đường ống.

# components.append(transform)

Cập nhật đường dẫn và chạy lại nó

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

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

Kiểm tra đầu ra của đường ống

Đối với Kubeflow Orchestrator, hãy truy cập bảng điều khiển KFP và tìm đầu ra đường ống trong trang để chạy đường ống của bạn. Nhấp vào tab "Thử nghiệm" ở bên trái và "Tất cả các lần chạy" trong trang Thử nghiệm. Bạn sẽ có thể tìm thấy đường chạy với tên đường ống của bạn.

Ví dụ nâng cao hơn

Ví dụ được trình bày ở đây thực sự chỉ nhằm giúp bạn bắt đầu. Để có một ví dụ nâng cao hơn, hãy xem Colab chuyển đổi TensorFlow .

10. Đào tạo

Đào tạo mô hình TensorFlow với dữ liệu đã chuyển đổi, đẹp đẽ của bạn.

  • Bao gồm các chuyển đổi từ bước trước để chúng được áp dụng nhất quán
  • Lưu kết quả dưới dạng SavedModel để sản xuất
  • Hình dung và khám phá quá trình đào tạo bằng TensorBoard
  • Đồng thời lưu một EvalSavedModel để phân tích hiệu suất mô hình

Các thành phần

  • Trainer đào tạo mô hình TensorFlow.

Trong trình chỉnh sửa tệp phòng thí nghiệm Jupyter:

Trong pipeline / pipeline.py , tìm và bỏ ghi chú gắn Trainer vào đường dẫn:

# components.append(trainer)

Cập nhật đường dẫn và chạy lại nó

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

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

Kiểm tra đầu ra của đường ống

Đối với Kubeflow Orchestrator, hãy truy cập bảng điều khiển KFP và tìm đầu ra của đường ống trong trang để chạy đường ống của bạn. Nhấp vào tab "Thử nghiệm" ở bên trái và "Tất cả các lần chạy" trong trang Thử nghiệm. Bạn sẽ có thể tìm thấy đường chạy với tên đường ống của bạn.

Ví dụ nâng cao hơn

Ví dụ được trình bày ở đây thực sự chỉ nhằm giúp bạn bắt đầu. Để có ví dụ nâng cao hơn, hãy xem Hướng dẫn về TensorBoard .

11. Phân tích hiệu suất mô hình

Hiểu nhiều hơn không chỉ là các chỉ số cấp cao nhất.

  • Người dùng chỉ trải nghiệm hiệu suất mô hình cho các truy vấn của họ
  • Hiệu suất kém trên các phần dữ liệu có thể bị ẩn bởi các chỉ số cấp cao nhất
  • Công bằng kiểu mẫu là quan trọng
  • Thường thì các tập hợp con chính của người dùng hoặc dữ liệu là rất quan trọng và có thể nhỏ
    • Hiệu suất trong điều kiện quan trọng nhưng bất thường
    • Hiệu suất cho các đối tượng chính, chẳng hạn như những người có ảnh hưởng
  • Nếu bạn đang thay thế một mô hình hiện đang được sản xuất, trước tiên hãy đảm bảo rằng mô hình mới tốt hơn

Các thành phần

Trong trình chỉnh sửa tệp phòng thí nghiệm Jupyter:

Trong pipeline / pipeline.py , tìm và bỏ ghi chú dòng gắn Người đánh giá vào đường ống:

components.append(evaluator)

Cập nhật đường dẫn và chạy lại nó

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

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

Kiểm tra đầu ra của đường ống

Đối với Kubeflow Orchestrator, hãy truy cập bảng điều khiển KFP và tìm đầu ra đường ống trong trang để chạy đường ống của bạn. Nhấp vào tab "Thử nghiệm" ở bên trái và "Tất cả các lần chạy" trong trang Thử nghiệm. Bạn sẽ có thể tìm thấy đường chạy với tên đường ống của bạn.

12. Phục vụ mô hình

Nếu mô hình mới đã sẵn sàng, hãy làm cho nó như vậy.

  • Pusher triển khai SavedModels đến các vị trí nổi tiếng

Mục tiêu triển khai nhận được các mô hình mới từ các địa điểm nổi tiếng

  • TensorFlow phục vụ
  • TensorFlow Lite
  • TensorFlow JS
  • Trung tâm TensorFlow

Các thành phần

  • Pusher triển khai mô hình tới cơ sở hạ tầng phục vụ.

Trong trình chỉnh sửa tệp phòng thí nghiệm Jupyter:

Trong pipeline / pipeline.py , hãy tìm và bỏ ghi chú dòng gắn Pusher vào đường ống:

# components.append(pusher)

Kiểm tra đầu ra của đường ống

Đối với Kubeflow Orchestrator, hãy truy cập bảng điều khiển KFP và tìm đầu ra của đường ống trong trang để chạy đường ống của bạn. Nhấp vào tab "Thử nghiệm" ở bên trái và "Tất cả các lần chạy" trong trang Thử nghiệm. Bạn sẽ có thể tìm thấy đường chạy với tên đường ống của bạn.

Các mục tiêu triển khai có sẵn

Bạn hiện đã được đào tạo và xác nhận mô hình của mình, và mô hình của bạn hiện đã sẵn sàng để sản xuất. Giờ đây, bạn có thể triển khai mô hình của mình cho bất kỳ mục tiêu triển khai TensorFlow nào, bao gồm:

  • TensorFlow Serving , để phục vụ mô hình của bạn trên một máy chủ hoặc máy chủ và xử lý các yêu cầu suy luận REST và / hoặc gRPC.
  • TensorFlow Lite , để đưa mô hình của bạn vào ứng dụng di động gốc Android hoặc iOS hoặc trong ứng dụng Raspberry Pi, IoT hoặc vi điều khiển.
  • TensorFlow.js , để chạy mô hình của bạn trong trình duyệt web hoặc ứng dụng Node.JS.

Các ví dụ nâng cao hơn

Ví dụ được trình bày ở trên thực sự chỉ nhằm giúp bạn bắt đầu. Dưới đây là một số ví dụ về tích hợp với các dịch vụ Đám mây khác.

Cân nhắc tài nguyên Kubeflow Pipelines

Tùy thuộc vào yêu cầu của khối lượng công việc của bạn, cấu hình mặc định cho việc triển khai Kubeflow Pipelines có thể đáp ứng hoặc có thể không đáp ứng nhu cầu của bạn. Bạn có thể tùy chỉnh cấu hình tài nguyên của bạn sử dụng pipeline_operator_funcs trong lệnh gọi KubeflowDagRunnerConfig .

pipeline_operator_funcs là danh sách các OpFunc mặt hàng, trong đó biến đổi tất cả các tạo ContainerOp trường trong các đường ống đặc tả KFP được biên soạn từ KubeflowDagRunner .

Ví dụ, để cấu hình bộ nhớ chúng ta có thể sử dụng set_memory_request để khai báo dung lượng bộ nhớ cần thiết. Một cách điển hình để làm điều đó là tạo một trình bao bọc cho set_memory_request và sử dụng nó để thêm vào danh sách các OpFunc của đường ống:

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)

Các chức năng cấu hình tài nguyên tương tự bao gồm:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Dùng thử BigQueryExampleGen

BigQuery là kho dữ liệu đám mây không máy chủ, có khả năng mở rộng cao và tiết kiệm chi phí. BigQuery có thể được sử dụng làm nguồn cho các ví dụ đào tạo trong TFX. Trong bước này, chúng tôi sẽ thêm BigQueryExampleGen vào đường dẫn.

Trong trình chỉnh sửa tệp phòng thí nghiệm Jupyter:

Nhấp đúp để mở pipeline.py Nhận xét CsvExampleGen và bỏ ghi chú dòng tạo ra một phiên bản của BigQueryExampleGen . Bạn cũng cần bỏ ghi chú đối số query của hàm create_pipeline .

Chúng tôi cần chỉ định dự án GCP nào sẽ sử dụng cho BigQuery và điều này được thực hiện bằng cách đặt --project trong beam_pipeline_args khi tạo đường dẫn.

Bấm đúp để mở configs.py . Bỏ ghi chú định nghĩa của BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGSBIG_QUERY_QUERY . Bạn nên thay thế id dự án và giá trị vùng trong tệp này bằng các giá trị chính xác cho dự án GCP của mình.

Thay đổi thư mục một cấp. Bấm vào tên của thư mục phía trên danh sách tệp. Tên của thư mục là tên của đường ống là my_pipeline nếu bạn không thay đổi tên đường ống.

Nhấp đúp để mở kubeflow_dag_runner.py . Bỏ ghi chú hai đối số, querybeam_pipeline_args , cho hàm create_pipeline .

Giờ đây, đường dẫn đã sẵn sàng để sử dụng BigQuery làm nguồn mẫu. Cập nhật đường dẫn như trước và tạo một lần chạy thực thi mới như chúng ta đã làm trong bước 5 và 6.

Cập nhật đường dẫn và chạy lại nó

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

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

Thử Dataflow

Một số Thành phần TFX sử dụng Apache Beam để triển khai các đường ống dẫn dữ liệu song song và điều đó có nghĩa là bạn có thể phân phối khối lượng công việc xử lý dữ liệu bằng Google Cloud Dataflow . Trong bước này, chúng tôi sẽ đặt bộ dàn nhạc Kubeflow sử dụng Dataflow làm phần cuối xử lý dữ liệu cho 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

Nhấp đúp vào pipeline để thay đổi thư mục và nhấp đúp để mở configs.py . Bỏ ghi chú định nghĩa của GOOGLE_CLOUD_REGIONDATAFLOW_BEAM_PIPELINE_ARGS .

Thay đổi thư mục một cấp. Bấm vào tên của thư mục phía trên danh sách tệp. Tên của thư mục là tên của đường dẫn là my_pipeline nếu bạn không thay đổi.

Nhấp đúp để mở kubeflow_dag_runner.py . Bỏ ghi chú beam_pipeline_args . (Ngoài ra, hãy đảm bảo nhận xét về beam_pipeline_args hiện tại mà bạn đã thêm ở Bước 7.)

Cập nhật đường dẫn và chạy lại nó

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

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

Bạn có thể tìm thấy các công việc Dataflow của mình trong Dataflow trong Cloud Console .

Thử đào tạo và dự đoán nền tảng Cloud AI với KFP

TFX tương tác với một số dịch vụ GCP được quản lý, chẳng hạn như Nền tảng AI của đám mây để đào tạo và dự đoán . Bạn có thể đặt thành phần Trainer của mình để sử dụng Cloud AI Platform Training, một dịch vụ được quản lý để đào tạo các mô hình ML. Hơn nữa, khi mô hình của bạn được xây dựng và sẵn sàng được phân phối, bạn có thể đẩy mô hình của mình lên Dự đoán nền tảng AI trên nền tảng đám mây để phân phối. Trong bước này, chúng tôi sẽ thiết lập thành phần TrainerPusher để sử dụng các dịch vụ Cloud AI Platform.

Trước khi chỉnh sửa tệp, trước tiên bạn có thể phải bật API dự đoán và đào tạo nền tảng AI .

Nhấp đúp vào pipeline để thay đổi thư mục và nhấp đúp để mở configs.py . Bỏ ghi chú định nghĩa của GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGSGCP_AI_PLATFORM_SERVING_ARGS . Chúng tôi sẽ sử dụng hình ảnh vùng chứa được xây dựng tùy chỉnh của mình để đào tạo một mô hình trong Đào tạo nền tảng Cloud AI, vì vậy chúng tôi nên đặt masterConfig.imageUri trong GCP_AI_PLATFORM_TRAINING_ARGS thành cùng một giá trị như CUSTOM_TFX_IMAGE ở trên.

Thay đổi thư mục lên một cấp và nhấp đúp để mở kubeflow_dag_runner.py . Bỏ ghi chú ai_platform_training_argsai_platform_serving_args .

Cập nhật đường dẫn và chạy lại nó

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

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

Bạn có thể tìm thấy các công việc đào tạo của mình trong Cloud AI Platform Jobs . Nếu quá trình hoàn tất thành công, bạn có thể tìm thấy mô hình của mình trong Mô hình nền tảng AI trên đám mây .

14. Sử dụng dữ liệu của riêng bạn

Trong hướng dẫn này, bạn đã tạo một đường dẫn cho một mô hình bằng cách sử dụng tập dữ liệu Taxi Chicago. Bây giờ hãy thử đưa dữ liệu của riêng bạn vào đường dẫn. Dữ liệu của bạn có thể được lưu trữ ở bất kỳ đâu mà đường dẫn có thể truy cập, bao gồm Google Cloud Storage, BigQuery hoặc tệp CSV.

Bạn cần sửa đổi định nghĩa đường ống để phù hợp với dữ liệu của mình.

Nếu dữ liệu của bạn được lưu trữ trong các tệp

  1. Sửa đổi DATA_PATH trong kubeflow_dag_runner.py , cho biết vị trí.

Nếu dữ liệu của bạn được lưu trữ trong BigQuery

  1. Sửa đổi BIG_QUERY_QUERY trong BIG_QUERY_QUERY thành câu lệnh truy vấn của bạn.
  2. Thêm các tính năng trong models / features.py .
  3. Sửa đổi models / preprocessing.py để biến đổi dữ liệu đầu vào cho đào tạo .
  4. Sửa đổi models / keras / model.pymodels / keras / constants.py để mô tả mô hình ML của bạn .

Tìm hiểu thêm về Trainer

Xem hướng dẫn thành phần Trainer để biết thêm chi tiết về Đường ống đào tạo.

Dọn dẹp

Để dọn dẹp tất cả tài nguyên Google Cloud được sử dụng trong dự án này, bạn có thể xóa dự án Google Cloud mà bạn đã sử dụng cho hướng dẫn.

Ngoài ra, bạn có thể dọn dẹp từng tài nguyên bằng cách truy cập từng bảng điều khiển: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine