模型卡
模型卡是機器學習文件,可提供模型的開發和效能背景資訊及透明度。模型卡可用於與研究人員、開發人員、記者等分享模型中繼資料和指標。
模型卡的部分用途包括:
- 促進模型建構者和產品開發人員之間交換資訊。
- 通知 ML 模型使用者,讓他們在如何使用模型 (或如何避免使用模型) 方面做出更明智的決策。
- 提供有效的公眾監督和問責所需的模型資訊。
結構描述
模型卡結構描述是一種 proto,用於描述模型卡的可用欄位。JSON 介面也已推出。這些物件可以與其他系統介接,以進行儲存、分析或視覺化。
目前,模型卡結構描述受到嚴格執行。在模型卡工具組 2.0 中,這項結構描述限制將會解除。
圖形
模型卡工具組會自動為 TFX 資料集和評估結果產生圖形。圖形也可以使用 Matplotlib 等工具手動建立,並寫入 ModelCard - 詳情請參閱模型卡 API。
在模型卡結構描述中,圖形會儲存在 Graphic.image 欄位中,並編碼為 base64 編碼字串。模型卡工具組可協助產生 base64 圖片。
模型卡工具組
模型卡工具組可讓您透過精簡的 Python 介面產生模型卡文件,以及 Proto 和 JSON 物件。
模型卡 API
模型卡工具組包含模型卡 API,其中包含 Python 類別。對模型卡 Python 物件所做的更新會寫入模型卡 proto 物件。
圖形
model_card_toolkit.utils.graphics.figure_to_base64str()
函式可用於將圖形 (例如 Matplotlib 圖表) 轉換為 base64 字串。
儲存及載入模型卡
如果您已完成註解模型卡,並想要以 JSON 或 protobuf 格式序列化,請使用 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')
如果您想要還原並更新已儲存的模型卡,請使用 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'))
模型卡文件
依預設,產生的模型卡文件是 HTML 檔案,以 default_template.html.jinja 為基礎。不過,您也可以提供自己的自訂 Jinja 範本。這些範本檔案可以是任何以文字為基礎的格式 (HTML、Markdown、LaTeX 等)。Markdown 範本會以範例形式提供。
TFX 和 MLMD 整合
模型卡工具組與 TensorFlow Extended 和 ML Metadata 工具整合。中繼資料儲存區可用於模型卡工具組初始化期間,以預先填入許多模型卡欄位並產生訓練和評估圖表。
- 範例和 ExampleStatistics:用於繪製每個資料集的切片計數圖表 (TFDV)。
- 模型和 ModelEvaluation:用於繪製 TFMA 切片評估指標。
- Trainer:用於填入模型名稱和版本
ModelCardGenerator
元件已移至 TFX Addons 程式庫,且不再於 2.0.0 版起的模型卡工具組中封裝。您必須先安裝 tfx-addons
套件,才能使用這個元件
pip install tfx-addons[model_card_generator]
請參閱 ModelCardGenerator 指南並執行 案例研究筆記本,進一步瞭解這個元件。