模型轉換檔案結構
本文件將介紹模型轉換工作流中生成的檔案結構以及每個資料夾和檔案的用途,包括快取處理、歷史記錄跟蹤、推理等。
建立模型專案並執行幾次後,檔案結構可能如下所示:
model_project_name/
├── model_lab.workspace.config
└── huggingface_microsoft_resnet-50_v1/
├── .gitignore
├── imagenet.py
├── inference_sample.ipynb
├── model_project.config
├── README.md
├── requirements.txt
├── resnet_ptq_qnn.json
├── cache/
└── history/
└── history_1(20250414_161046)/
├── model/
├── footprints.json
├── history.config
├── history.config.user
├── inference_sample.ipynb
├── log.txt
├── metrics.json
├── model_config.json
├── olive_config.json
├── output_footprint.json
└── run_history.txt
└── history_2/
└── history_3/
在 model_project_name 資料夾中,每個模型的處理流程都儲存在一個單獨的資料夾中。
requirements.txt:列出了執行處理流程和推理示例所需的依賴項。resnet_ptq_qnn.json,imagenet.py:Olive 用於轉換模型的 JSON 檔案。有些模型可能需要額外的 Python 檔案進行自定義。README.md:描述模型詳細資訊,例如模型的任務、效能指標和使用說明。model_project.config:包含專案模板設定。可以覆蓋其中一些設定以滿足您的特定需求。inference_sample.ipynb:用於測試輸出模型的示例。此檔案將複製到history資料夾中,以便使用不同的 Jupyter Notebook 來比較不同歷史記錄中的模型。
快取資料夾
cache 資料夾儲存了在工作流執行期間生成的快取檔案。這些快取結果可以幫助加速工作流的重複執行。
如果不再需要此資料夾,您可以將其刪除以釋放空間。
歷史記錄資料夾
history 資料夾名稱中的時間戳表示執行時間,例如:2025 年 4 月 14 日 16:10:46。
model:模型檔案。model_config.json:包含模型的詳細資訊。footprints.json,output_footprint.json,run_history.txt:Olive 的輸出。history.config,history.config.user:模型轉換使用的歷史記錄配置。inference_sample.ipynb:用於測試輸出模型的示例。log.txt:包含日誌。metrics.json:如果啟用了評估,則包含評估結果。olive_config.json:用於執行轉換的配置檔案。
關於 Git
預設情況下,cache 和 history 資料夾被排除在版本控制之外(.gitignore),但以下兩個配置檔案除外:history.config 和 olive_config.json。
您可以更新 .gitignore 檔案以包含值得儲存的特定歷史記錄資料夾。
當其他人克隆倉庫時,這兩個檔案可以確保他們能夠重新執行這些歷史記錄以重現轉換結果。
__pycache__
/cache
/history/*/*
!/history/*/history.config
!/history/*/olive_config.json