Tensorflow Model Analizi Kurulumu

Yapılandırma

TFMA, yapılandırmasını JSON'a serileştirilmiş bir protokolde saklar. Bu protokol, giriş verileri, çıkış verileri, model spesifikasyonları, metrik spesifikasyonlar ve dilimleme spesifikasyonları için gereken konfigürasyonu birleştirir.

Tüm TFMA işlem hatları, bir temel (birincil) model ve sıfır veya daha fazla aday (ikincil) modelle ilişkilidir. Temel ve aday model, kullanıcı tarafından işlem hattının başlangıcında tanımlanır ve her biri benzersiz bir ad gerektirir. Aşağıda bir kullanıcının kullanabileceği tipik yapılandırma ayarlarına örnekler verilmiştir:

  • Tek model değerlendirmesi:
    • Yok (yani isim yok)
  • Doğrulamaya dayalı değerlendirme:
    • baseline
    • candidate
  • Model karşılaştırma değerlendirmesi:
    • my_model_a
    • my_model_b

Model Özellikleri

Model özellikleri tfma.ModelSpec türündedir ve bir modelin konumunun yanı sıra diğer modele özgü parametreleri tanımlamak için kullanılır. Örneğin, bir değerlendirmeyi çalıştırmadan önce yapılandırılması gereken tipik ayarlar şunlardır:

  • name - modelin adı (birden fazla model kullanılıyorsa)
  • signature_name - tahminler için kullanılan imzanın adı (varsayılan, serving_default ). EvalSavedModel kullanıyorsanız eval kullanın.
  • label_key - etiketle ilişkili özelliğin adı.
  • example_weight_key - örnek ağırlıkla ilişkilendirilen özelliğin adı.

Metrik Özellikleri

Metrik özellikleri tfma.MetricsSpec türündedir ve değerlendirmenin bir parçası olarak hesaplanacak metrikleri yapılandırmak için kullanılır. Farklı makine öğrenimi problemleri farklı türde metrikler kullanır ve TFMA, hesaplanan metrikleri yapılandırmak ve özelleştirmek için birçok seçenek sunar. Metrikler TFMA'nın çok büyük bir bölümünü oluşturduğundan metriklerde ayrı ayrı ayrıntılı olarak ele alınmaktadır.

Dilimleme Özellikleri

Dilimleme özellikleri tfma.SlicingSpec türündedir ve değerlendirme sırasında kullanılacak dilim kriterlerini yapılandırmak için kullanılır. Dilimleme, feature_keys , feature_values ​​veya her ikisiyle birden yapılabilir. Dilimleme özelliklerine bazı örnekler aşağıdaki gibidir:

  • {}
    • Genel verilerden oluşan dilim.
  • { feature_keys: ["country"] }
    • "Ülke" özelliğindeki tüm değerler için dilimler. Örneğin, "ülke:us", "ülke:jp" vb. dilimlerini alabiliriz.
  • { feature_values: [{key: "country", value: "us"}] }
    • "Ülke:biz"den oluşan dilim.
  • { feature_keys: ["country", "city"] }
    • "Ülke" özelliğindeki tüm değerlere ait dilimler, "şehir" özelliğindeki tüm değerlerle kesişir (bunun pahalı olabileceğini unutmayın).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • "Ülke" özelliğindeki tüm değerlere ait dilimler, "yaş:20" değeriyle kesişir

Özellik anahtarlarının dönüştürülmüş özellikler veya ham giriş özellikleri olabileceğini unutmayın. Daha fazla bilgi için tfma.SlicingSpec bakın.

EvalPaylaşılanModel

Yapılandırma ayarlarına ek olarak TFMA, bir modeli aynı işlemde birden çok iş parçacığı arasında paylaşmak için bir tfma.EvalSharedModel örneğinin oluşturulmasını da gerektirir. Paylaşılan model örneği, modelin türü (keras vb.) ve modelin diskteki kayıtlı konumundan (örn. etiketler vb.) nasıl yükleneceği ve yapılandırılacağı hakkında bilgiler içerir. tfma.default_eval_shared_model API'si, bir yol ve etiket kümesi verilen varsayılan bir örnek oluşturmak için kullanılabilir.