Unisciti alla comunità SIG TFX-Addons e contribuisci a rendere TFX ancora migliore!

Configurazione dell'analisi del modello Tensorflow

Configurazione

TFMA memorizza la sua configurazione in un proto che viene serializzato a JSON. Questo protocollo consolida la configurazione richiesta per i dati di input, i dati di output, le specifiche del modello, le specifiche metriche e le specifiche di slicing.

Tutte le pipeline TFMA sono associate a un modello di base (primario) e zero o più modelli candidati (secondari). La linea di base e il modello candidato sono definiti dall'utente all'inizio della pipeline e ciascuno richiede un nome univoco. Di seguito sono riportati esempi di impostazioni di configurazione tipiche che un utente può utilizzare:

  • Valutazione del modello singolo:
    • N / A (cioè nessun nome)
  • Valutazione basata sulla convalida:
    • baseline
    • candidate
  • Valutazione del confronto dei modelli:
    • my_model_a
    • my_model_b

Specifiche del modello

Le specifiche del modello sono di tipo tfma.ModelSpec e vengono utilizzate per definire la posizione di un modello, nonché altri parametri specifici del modello. Ad esempio, le seguenti sono impostazioni tipiche che dovrebbero essere configurate prima di eseguire una valutazione:

  • name - nome del modello (se vengono utilizzati più modelli)
  • signature_name - nome della firma utilizzato per le previsioni (il valore predefinito è serving_default ). Usa eval se usi EvalSavedModel.
  • label_key - nome della caratteristica associata all'etichetta.
  • example_weight_key - nome della caratteristica associata al peso di esempio.

Specifiche metriche

Le specifiche delle metriche sono di tipo tfma.MetricsSpec e vengono utilizzate per configurare le metriche che verranno calcolate come parte della valutazione. Diversi problemi di apprendimento automatico utilizzano diversi tipi di metriche e TFMA offre molte opzioni per la configurazione e la personalizzazione delle metriche calcolate. Poiché le metriche sono una parte molto ampia di TFMA, vengono discusse in dettaglio separatamente nelle metriche .

Specifiche per affettare

Le specifiche di tfma.SlicingSpec sono di tipo tfma.SlicingSpec e vengono utilizzate per configurare i criteri di slice che verranno utilizzati durante la valutazione. Il sezionamento può essere eseguito tramite feature_keys , feature_values o entrambi. Alcuni esempi di specifiche di slicing sono i seguenti:

  • {}
    • Fetta composta da dati complessivi.
  • { feature_keys: ["country"] }
    • Fette per tutti i valori nella funzione "paese". Ad esempio, potremmo ottenere sezioni "country: us", "country: jp" e così via.
  • { feature_values: [{key: "country", value: "us"}] }
    • Fetta composta da "paese: noi".
  • { feature_keys: ["country", "city"] }
    • Fette per tutti i valori nell'elemento "paese" incrociate con tutti i valori nell'elemento "città" (nota che potrebbe essere costoso).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Fette per tutti i valori nella caratteristica "paese" incrociate con il valore "età: 20"

Tieni presente che i tasti funzione possono essere funzioni trasformate o funzioni di input non elaborate. Vedere tfma.SlicingSpec per ulteriori informazioni.

EvalSharedModel

Oltre alle impostazioni di configurazione, TFMA richiede anche la creazione di un'istanza di tfma.EvalSharedModel per condividere un modello tra più thread nello stesso processo. L'istanza del modello condiviso include informazioni sul tipo di modello (keras, ecc.) E su come caricare e configurare il modello dalla sua posizione salvata su disco (es. Tag, ecc.). L'API tfma.default_eval_shared_model può essere utilizzata per creare un'istanza predefinita dato un percorso e una serie di tag.