Thiết lập phân tích mô hình Tensorflow

Cấu hình

TFMA lưu trữ cấu hình của nó trong một proto được tuần tự hóa thành JSON. Proto này hợp nhất cấu hình cần thiết cho dữ liệu đầu vào, dữ liệu đầu ra, thông số kỹ thuật mô hình, thông số kỹ thuật số liệu và thông số kỹ thuật cắt.

Tất cả các quy trình TFMA đều được liên kết với mô hình cơ sở (chính) và không có hoặc nhiều mô hình ứng cử viên (phụ). Mô hình cơ sở và mô hình ứng cử viên được người dùng xác định khi bắt đầu quy trình và mỗi mô hình yêu cầu một tên duy nhất. Sau đây là ví dụ về thiết lập cấu hình điển hình mà người dùng có thể sử dụng:

  • Đánh giá mô hình đơn:
    • N/A (tức là không có tên)
  • Đánh giá dựa trên xác nhận:
    • baseline
    • candidate
  • Đánh giá so sánh mô hình:
    • my_model_a
    • my_model_b

Thông số mẫu

Thông số kỹ thuật của mô hình thuộc loại tfma.ModelSpec và được sử dụng để xác định vị trí của mô hình cũng như các tham số cụ thể khác của mô hình. Ví dụ: sau đây là các cài đặt điển hình cần được định cấu hình trước khi chạy đánh giá:

  • name - tên của model (nếu sử dụng nhiều model)
  • signature_name - tên chữ ký được sử dụng để dự đoán (mặc định là serving_default ). Sử dụng eval nếu sử dụng EvalSavedModel.
  • label_key - tên của tính năng được liên kết với nhãn.
  • example_weight_key - tên của tính năng được liên kết với trọng lượng mẫu.

Thông số số liệu

Thông số chỉ số thuộc loại tfma.MetricsSpec và được dùng để định cấu hình các chỉ số sẽ được tính toán như một phần của đánh giá. Các vấn đề học máy khác nhau sử dụng các loại số liệu khác nhau và TFMA cung cấp nhiều tùy chọn để định cấu hình và tùy chỉnh các số liệu được tính toán. Vì số liệu là một phần rất lớn của TFMA nên chúng được thảo luận chi tiết riêng biệt trong số liệu .

Thông số cắt lát

Thông số kỹ thuật cắt lát thuộc loại tfma.SlicingSpec và được sử dụng để định cấu hình các tiêu chí lát cắt sẽ được sử dụng trong quá trình đánh giá. Việc cắt có thể được thực hiện bằng feature_keys , feature_values ​​hoặc cả hai. Một số ví dụ về thông số kỹ thuật cắt như sau:

  • {}
    • Lát bao gồm dữ liệu tổng thể.
  • { feature_keys: ["country"] }
    • Các lát cắt cho tất cả các giá trị trong đối tượng địa lý "quốc gia". Ví dụ: chúng ta có thể nhận được các lát cắt "country:us", "country:jp", v.v.
  • { feature_values: [{key: "country", value: "us"}] }
    • Lát bao gồm "quốc gia:chúng tôi".
  • { feature_keys: ["country", "city"] }
    • Các lát cắt cho tất cả giá trị trong đối tượng địa lý "quốc gia" được cắt chéo với tất cả các giá trị trong đối tượng địa lý "thành phố" (lưu ý rằng điều này có thể tốn kém).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Các lát cắt cho tất cả các giá trị trong đối tượng địa lý "quốc gia" được ghép với giá trị "tuổi:20"

Lưu ý rằng các phím tính năng có thể là tính năng được chuyển đổi hoặc tính năng nhập liệu thô. Xem tfma.SlicingSpec để biết thêm thông tin.

Đánh giáSharedModel

Ngoài các cài đặt cấu hình, TFMA cũng yêu cầu tạo một phiên bản của tfma.EvalSharedModel để chia sẻ mô hình giữa nhiều luồng trong cùng một quy trình. Phiên bản mô hình được chia sẻ bao gồm thông tin về loại mô hình (máy ảnh, v.v.) cũng như cách tải và định cấu hình mô hình từ vị trí đã lưu trên đĩa (ví dụ: thẻ, v.v.). API tfma.default_eval_shared_model có thể được sử dụng để tạo một phiên bản mặc định có đường dẫn và bộ thẻ.