Konfiguracja
TFMA przechowuje swoją konfigurację w proto że jest seryjny do JSON. Protokół ten konsoliduje konfigurację wymaganą dla danych wejściowych, danych wyjściowych, specyfikacji modelu, specyfikacji metrycznych i specyfikacji wycinania.
Wszystkie potoki TFMA są powiązane z modelem bazowym (podstawowym) i zero lub więcej modeli kandydujących (drugorzędnych). 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:
- N / A (tj. Brak nazwy)
- Ocena oparta na walidacji:
-
baseline
-
candidate
-
- Ocena porównania modeli:
-
my_model_a
-
my_model_b
-
Specyfikacje modelu
tfma.ModelSpec
modelu są typu tfma.ModelSpec
i służą do definiowania lokalizacji modelu, a także innych parametrów specyficznych dla modelu. Na przykład poniżej przedstawiono typowe ustawienia, które należy skonfigurować przed uruchomieniem oceny:
-
name
- nazwa modelu (jeśli użyto wiele modeli) -
signature_name
- nazwa użytego do podpisu przepowiedni (domyślnieserving_default
). Użyjeval
jeśli używasz EvalSavedModel. -
label_key
- nazwa funkcji powiązanej z etykietą. -
example_weight_key
- nazwa funkcji przypisana do przykładowej wagi.
Dane techniczne
tfma.MetricsSpec
są typu tfma.MetricsSpec
i służą do konfigurowania metryk, które zostaną obliczone w ramach oceny. Różne problemy związane z uczeniem maszynowym wykorzystują różne typy metryk, a TFMA oferuje wiele opcji konfigurowania i dostosowywania obliczanych metryk. Ponieważ metryki są bardzo dużą częścią TFMA, są szczegółowo omówione oddzielnie w metrykach .
Specyfikacje krojenia
tfma.SlicingSpec
są typu tfma.SlicingSpec
i służą do konfigurowania kryteriów wycinków, które będą używane podczas oceny. Cięcie można wykonać za pomocą feature_keys
feature_values
, wartości_funkcji lub obu. Oto kilka przykładów specyfikacji krojenia:
-
{}
- Wycinek zawierający dane ogólne.
-
{ feature_keys: ["country"] }
- Plasterki dla wszystkich wartości w „kraju” funkcji. Na przykład możemy otrzymać wycinki „country: us”, „country: jp” itd.
-
{ feature_values: [{key: "country", value: "us"}] }
- Kawałek składający się z wyrażenia „kraj: nas”.
-
{ feature_keys: ["country", "city"] }
- Wycinki dla wszystkich wartości w „kraju” funkcji skrzyżowane ze wszystkimi wartościami w „mieście” funkcji (uwaga: może to być kosztowne).
-
{ feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
- Wycinki dla wszystkich wartości w „kraju” funkcji skrzyżowane z wartością „wiek: 20”
Należy pamiętać, że klucze funkcji mogą być albo przekształconymi elementami, albo surowymi elementami wejściowymi. Aby tfma.SlicingSpec
więcej informacji, zobacz tfma.SlicingSpec
.
EvalSharedModel
Oprócz ustawień konfiguracyjnych TFMA wymaga również utworzenia instancji tfma.EvalSharedModel
celu współużytkowania modelu między wieloma wątkami w tym samym procesie. Wystąpienie modelu współużytkowanego zawiera informacje o typie modelu (keras itp.) Oraz sposobie ładowania i konfigurowania modelu z jego zapisanej lokalizacji na dysku (np. Tagi itp.). tfma.default_eval_shared_model
API tfma.default_eval_shared_model
może służyć do tworzenia domyślnej instancji z podaniem ścieżki i zestawu tagów.