Konfiguracja analizy modelu przepływu tensorowego

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Konfiguracja

TFMA przechowuje swoją konfigurację w proto że jest seryjny do JSON. Ten prototyp konsoliduje konfigurację wymaganą dla danych wejściowych, danych wyjściowych, specyfikacji modelu, specyfikacji metrycznych i specyfikacji krojenia.

Wszystkie potoki TFMA są powiązane z modelem podstawowym (podstawowym) i z zerem lub większą liczbą modeli kandydujących (wtórnych). Model bazowy i kandydujący są definiowane przez użytkownika na początku potoku i każdy z nich wymaga unikalnej nazwy. Poniżej znajdują się przykłady typowych ustawień konfiguracyjnych, z których może korzystać użytkownik:

  • Ocena pojedynczego modelu:
    • Nie dotyczy (tj. bez imienia i nazwiska)
  • Ocena oparta na walidacji:
    • baseline
    • candidate
  • Ocena porównawcza modeli:
    • my_model_a
    • my_model_b

Specyfikacja modelu

Specyfikacje modelu są typu tfma.ModelSpec i są wykorzystywane do określenia położenia modelu, a także inne parametry konkretnych modeli. Na przykład poniżej przedstawiono typowe ustawienia, które należy skonfigurować przed uruchomieniem oceny:

  • name - nazwa modelu (jeśli stosuje się wiele modeli)
  • signature_name - nazwa użytego do podpisu przepowiedni (domyślnie serving_default ). Użyj eval w przypadku korzystania z EvalSavedModel.
  • label_key - nazwa funkcji związanej z etykietą.
  • example_weight_key - nazwa funkcji assocated na przykładzie wagi.

Dane techniczne

Specyfikacje Metrics są typu tfma.MetricsSpec i służą do konfigurowania metryk, które będą obliczane jako część oceny. Różne problemy z uczeniem maszynowym wykorzystują różne typy metryk, a TFMA oferuje wiele opcji konfigurowania i dostosowywania obliczanych metryk. Ponieważ dane są bardzo duża część TFMA, są one szczegółowo omówione oddzielnie w metryki .

Specyfikacja krojenia

Specyfikacje krojenia są typu tfma.SlicingSpec i służą do konfigurowania kryteriów plasterki, które będą stosowane podczas oceny. Odcinanie można zrobić albo przez feature_keys , feature_values , lub obu. Oto kilka przykładów specyfikacji krojenia:

  • {}
    • Kawałek składający się z ogólnych danych.
  • { feature_keys: ["country"] }
    • Wycinki dla wszystkich wartości w elemencie „kraj”. Na przykład możemy otrzymać wycinki „kraj:nas”, „kraj:jp” itp.
  • { feature_values: [{key: "country", value: "us"}] }
    • Kawałek składający się z „country:us”.
  • { feature_keys: ["country", "city"] }
    • Wycinki dla wszystkich wartości w elemencie „kraj” przekreślone ze wszystkimi wartościami w elemencie „miasto” (może to być drogie).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Plasterki dla wszystkich wartości w elemencie „kraj” skrzyżowane z wartością „wiek:20”

Zauważ, że klawisze funkcji mogą być albo przekształconymi funkcjami, albo surowymi funkcjami wejściowymi. Zobacz tfma.SlicingSpec aby uzyskać więcej informacji.

Ocena modelu współdzielonego

Oprócz ustawień konfiguracyjnych, TFMA wymaga również instancją tfma.EvalSharedModel być tworzone za dzielenie modelu między wielu wątków w tym samym procesie. Udostępniona instancja modelu zawiera informacje o typie modelu (keras itp.) oraz o tym, jak załadować i skonfigurować model z zapisanej lokalizacji na dysku (np. tagi itp.). tfma.default_eval_shared_model API może być wykorzystywane do tworzenia instancji domyślnej daną ścieżkę i zestaw znaczników.