模型轉換檔案結構

本文說明模型轉換工作流程中產生的檔案結構,以及各資料夾與檔案的用途,包含快取處理、歷史紀錄追蹤、推論等內容。

在建立模型專案並執行多次後,檔案結構可能如下所示

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.jsonimagenet.py:由 Olive 用於轉換模型的 JSON 檔案。部分模型可能需要額外的 Python 檔案來進行自定義。
  • README.md:說明模型細節,例如模型任務、效能指標以及使用說明。
  • model_project.config:包含專案範本設定。部分設定可根據您的特定需求進行覆寫。
  • inference_sample.ipynb:用於測試輸出模型的範例。此檔案會被複製到 history 資料夾中,以便使用不同的 Jupyter Notebook 來比較來自不同歷史紀錄的模型。

快取 (Cache) 資料夾

cache 資料夾儲存了工作流程執行期間產生的快取檔案。這些快取結果有助於加速重複執行工作流程。

如果不再需要,您可以刪除此資料夾以釋放空間。

歷史紀錄 (History) 資料夾

history 資料夾名稱中的時間戳記代表執行時間,例如:2025 年 4 月 14 日 16:10:46

  • model:模型檔案。
  • model_config.json:包含關於模型的詳細資訊。
  • footprints.jsonoutput_footprint.jsonrun_history.txt:Olive 的輸出檔案。
  • history.confighistory.config.user:模型轉換所使用的歷史紀錄設定檔。
  • inference_sample.ipynb:用於測試輸出模型的範例。
  • log.txt:包含執行紀錄 (Log)。
  • metrics.json:若已啟用評估功能,則包含評估結果。
  • olive_config.json:執行轉換時所使用的設定檔。

關於 Git

預設情況下,cachehistory 資料夾會被排除在版本控制之外 (.gitignore),但下列兩個設定檔除外:history.configolive_config.json

您可以更新 .gitignore 檔案,將值得保留的特定歷史紀錄資料夾納入版本控制中。

當其他人複製 (Clone) 儲存庫時,這兩個檔案可確保他們能夠重新執行這些歷史紀錄,以重現轉換結果。

__pycache__
/cache
/history/*/*
!/history/*/history.config
!/history/*/olive_config.json
© . This site is unofficial and not affiliated with Microsoft.