Karta Modelowa
Karty modeli to dokumenty uczenia maszynowego, które zapewniają kontekst i przejrzystość rozwoju i wydajności modelu. Można ich używać do udostępniania metadanych i metryk modelu badaczom, programistom, reporterom i nie tylko.
Niektóre przypadki użycia kart modeli obejmują:
- Ułatwianie wymiany informacji pomiędzy twórcami modeli i twórcami produktów.
- Informowanie użytkowników modeli uczenia maszynowego, aby mogli podejmować bardziej świadome decyzje dotyczące tego, jak z nich korzystać (lub jak z nich nie korzystać).
- Dostarczanie modelowych informacji wymaganych do skutecznego nadzoru publicznego i rozliczalności.
Schemat
Schemat Karty Modelu jest proto opisującym dostępne pola karty Modelu. Dostępny jest również interfejs JSON . Obiekty te można łączyć z innymi systemami w celu przechowywania, analizy lub wizualizacji.
Obecnie schemat karty modelu jest ściśle egzekwowany. W Model Card Toolkit 2.0 to ograniczenie schematu zostanie zniesione.
Grafika
Model Card Toolkit automatycznie generuje grafikę dla zestawów danych TFX i wyników oceny. Grafikę można również utworzyć ręcznie za pomocą narzędzia takiego jak Matplotlib i zapisać na karcie ModelCard — szczegółowe informacje można znaleźć w interfejsie API karty Model .
W schemacie karty modelu grafika jest przechowywana w polu Graphic.image i jest kodowana jako ciągi znaków zakodowane w standardzie base64 . Zestaw narzędzi Model Card może pomóc w generowaniu obrazów base64 .
Zestaw narzędzi do kart modeli
Zestaw narzędzi Model Card umożliwia generowanie dokumentów Model Card , a także obiektów Proto i JSON za pomocą usprawnionego interfejsu Pythona.
API karty modelu
Zestaw narzędzi Model Card zawiera interfejs API Model Card składający się z klasy Pythona . Aktualizacje wprowadzone w obiekcie Pythona Model Card są zapisywane w protoobiekcie Model Card.
Grafika
Funkcji model_card_toolkit.utils.graphics.figure_to_base64str()
można użyć do konwersji grafiki, takiej jak figury Matplotlib, na ciągi Base64.
Zapisywanie i ładowanie kart modeli
Jeśli zakończyłeś dodawanie adnotacji do swojej karty modelu i chcesz ją serializować w formacie JSON lub protobuf, użyj metody ModelCard.save()
.
import model_card_toolkit as mct
model_card = mct.ModelCard()
model_card.model_details.name = 'Fine-tuned MobileNetV2 Model for Cats vs. Dogs'
model_card.save('model_cards/cats_vs_dogs.json')
Jeśli chcesz przywrócić i zaktualizować zapisaną kartę modelu, użyj funkcji model_card_toolkit.model_card.load_model_card()
.
import model_card_toolkit as mct
model_card = mct.load_model_card('model_cards/cats_vs_dogs.json')
model_card.model_details.licenses.append(mct.License(identifier='Apache-2.0'))
Dokumenty karty wzorcowej
Domyślnie wygenerowany dokument karty modelu jest plikiem HTML opartym na default_template.html.jinja . Możesz jednak dostarczyć własny, niestandardowy szablon Jinja. Te pliki szablonów mogą mieć dowolny format tekstowy (HTML, Markdown, LaTeX itp.). Jako przykład podano szablon Markdown .
Integracja TFX i MLMD
Zestaw narzędzi karty modelu integruje się z narzędziami TensorFlow Extended i ML Metadata . Magazynu metadanych można użyć podczas inicjalizacji zestawu narzędzi karty modelu do wstępnego wypełnienia wielu pól kart modelu oraz wygenerowania wykresów szkoleniowych i ewaluacyjnych.
Artefakty używane przez MCT:
- Przykłady i przykładowe statystyki : używane do wykreślania wykresów liczby wycinków dla każdego zestawu danych ( TFDV ).
- Model i ModelEvaluation : używane do wykreślania przekrojowych metryk oceny TFMA .
Wykonania stosowane przez MCT:
- Trainer : używany do wpisania nazwy i wersji modelu
Komponent ModelCardGenerator
został przeniesiony do biblioteki TFX Addons i nie jest już zawarty w Model Card Toolkit od wersji 2.0.0. Zanim będziesz mógł korzystać z komponentu, musisz zainstalować pakiet tfx-addons
:
pip install tfx-addons[model_card_generator]
Zapoznaj się z przewodnikiem ModelCardGenerator i uruchom notatnik studium przypadku , aby dowiedzieć się więcej o komponencie.