Xây dựng quy trình TFX

Sử dụng lớp Pipeline

Đường ống TFX được xác định bằng cách sử dụng lớp Pipeline . Ví dụ sau minh họa cách sử dụng lớp Pipeline .

pipeline.Pipeline(
    pipeline_name=pipeline-name,
    pipeline_root=pipeline-root,
    components=components,
    enable_cache=enable-cache,
    metadata_connection_config=metadata-connection-config,
)

Thay thế như sau:

  • pipeline-name : Tên của đường ống này. Tên đường ống phải là duy nhất.

    TFX sử dụng tên đường dẫn khi truy vấn Siêu dữ liệu ML để tìm các tạo phẩm đầu vào thành phần. Việc sử dụng lại tên đường dẫn có thể dẫn đến các hành vi không mong muốn.

  • pipeline-root : Đường dẫn gốc của đầu ra của đường ống này. Đường dẫn gốc phải là đường dẫn đầy đủ đến thư mục mà người điều phối của bạn có quyền truy cập đọc và ghi. Trong thời gian chạy, TFX sử dụng đường dẫn gốc để tạo đường dẫn đầu ra cho các thành phần lạ. Thư mục này có thể cục bộ hoặc trên hệ thống tệp phân tán được hỗ trợ, chẳng hạn như Google Cloud Storage hoặc HDFS.

  • components : Danh sách các phiên bản thành phần tạo nên quy trình làm việc của quy trình này.

  • enable-cache : (Tùy chọn.) Giá trị boolean cho biết liệu đường dẫn này có sử dụng bộ nhớ đệm để tăng tốc độ thực thi đường ống hay không.

  • metadata-connection-config : (Tùy chọn.) Cấu hình kết nối cho Siêu dữ liệu ML.

Xác định biểu đồ thực hiện thành phần

Các phiên bản thành phần tạo ra các thành phần dưới dạng đầu ra và thường phụ thuộc vào các thành phần được tạo bởi các phiên bản thành phần ngược dòng làm đầu vào. Trình tự thực thi cho các phiên bản thành phần được xác định bằng cách tạo biểu đồ tuần hoàn có hướng (DAG) của các phần phụ thuộc tạo tác.

Ví dụ: thành phần tiêu chuẩn ExampleGen có thể nhập dữ liệu từ tệp CSV và xuất ra các bản ghi ví dụ được tuần tự hóa. Thành phần tiêu chuẩn StatisticsGen chấp nhận các bản ghi mẫu này làm đầu vào và tạo ra số liệu thống kê về tập dữ liệu. Trong ví dụ này, phiên bản của StatisticsGen phải tuân theo ExampleGenSchemaGen phụ thuộc vào đầu ra của ExampleGen .

Phụ thuộc dựa trên nhiệm vụ

Bạn cũng có thể xác định các phần phụ thuộc dựa trên nhiệm vụ bằng cách sử dụng các phương thức add_upstream_nodeadd_downstream_node của thành phần. add_upstream_node cho phép bạn chỉ định rằng thành phần hiện tại phải được thực thi sau thành phần được chỉ định. add_downstream_node cho phép bạn chỉ định rằng thành phần hiện tại phải được thực thi trước thành phần được chỉ định.

Mẫu quy trình

Cách dễ nhất để nhanh chóng thiết lập quy trình và xem tất cả các phần khớp với nhau như thế nào là sử dụng mẫu. Việc sử dụng các mẫu được đề cập trong Xây dựng đường ống TFX cục bộ .

Bộ nhớ đệm

Bộ nhớ đệm đường dẫn TFX cho phép đường dẫn của bạn bỏ qua các thành phần đã được thực thi với cùng một bộ đầu vào trong lần chạy đường dẫn trước đó. Nếu bộ nhớ đệm được bật, quy trình sẽ cố gắng khớp chữ ký của từng thành phần, thành phần và tập hợp đầu vào với một trong các lần thực thi thành phần trước đó của quy trình này. Nếu có sự trùng khớp, quy trình sẽ sử dụng các đầu ra thành phần từ lần chạy trước. Nếu không khớp, thành phần sẽ được thực thi.

Không sử dụng bộ nhớ đệm nếu quy trình của bạn sử dụng các thành phần không xác định. Ví dụ: nếu bạn tạo một thành phần để tạo số ngẫu nhiên cho quy trình của mình, việc bật bộ đệm sẽ khiến thành phần này thực thi một lần. Trong ví dụ này, các lần chạy tiếp theo sử dụng số ngẫu nhiên của lần chạy đầu tiên thay vì tạo số ngẫu nhiên.