Dateistruktur der Modellkonvertierung
Dieser Artikel erklärt die Dateistruktur, die während Modellkonvertierungs-Workflows generiert wird, und den Zweck jedes Ordners und jeder Datei, einschließlich Cache-Handling, Verlaufsverfolgung, Inferenz und so weiter.
Nachdem Sie das Modellprojekt erstellt und es mehrmals ausgeführt haben, könnte die Dateistruktur wie folgt aussehen
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/
Im Ordner model_project_name werden die Workflows für jedes Modell in einem separaten Ordner gespeichert.
requirements.txt: listet die Abhängigkeiten auf, die zum Ausführen des Workflows und des Inferenzbeispiels erforderlich sind.resnet_ptq_qnn.json,imagenet.py: die JSON-Datei, die von Olive zur Konvertierung des Modells verwendet wird. Einige erfordern möglicherweise zusätzliche Python-Dateien zur Anpassung.README.md: beschreibt Modelldetails wie die Aufgabe des Modells, Leistungskennzahlen und Nutzungshinweise.model_project.config: enthält die Einstellungen der Projektvorlage. Einige Einstellungen können überschrieben werden, um Ihren spezifischen Anforderungen gerecht zu werden.inference_sample.ipynb: Beispiel zum Testen des Ausgabemodells. Diese Datei wird in den Ordnerhistorykopiert, um die Verwendung verschiedener Jupyter-Notebooks zum Vergleichen von Modellen aus verschiedenen Verläufen zu ermöglichen.
Cache-Ordner
Der Ordner cache speichert Cache-Dateien, die während der Ausführung des Workflows generiert wurden. Diese zwischengespeicherten Ergebnisse können dazu beitragen, wiederholte Ausführungen des Workflows zu beschleunigen.
Sie können diesen Ordner löschen, um Speicherplatz freizugeben, wenn er nicht mehr benötigt wird.
Verlauf-Ordner
Der Zeitstempel im Namen des Ordners history gibt die Laufzeit an, z. B.: 14. April 2025 um 16:10:46 Uhr.
model: Modelldateien.model_config.json: enthält Details zum Modell.footprints.json,output_footprint.json,run_history.txt: Olive-Ausgabe.history.config,history.config.user: Verlaufskonfigurationen, die von Model Conversion verwendet werden.inference_sample.ipynb: Beispiel zum Testen des Ausgabemodells.log.txt: enthält Protokolle.metrics.json: enthält das Evaluationsergebnis, wenn die Evaluation aktiviert ist.olive_config.json: die Konfiguration, die zum Ausführen der Konvertierung verwendet wird.
Über Git
Standardmäßig sind die Ordner cache und history vom Versionskontrollsystem (.gitignore) ausgeschlossen, mit Ausnahme der folgenden beiden Konfigurationsdateien: history.config und olive_config.json
Sie können die Datei .gitignore aktualisieren, um bestimmte Verlauf-Ordner aufzunehmen, die es wert sind, gespeichert zu werden.
Wenn jemand anderes das Repository klont, stellen diese beiden Dateien sicher, dass er diese Verläufe erneut ausführen kann, um das Konvertierungsergebnis zu reproduzieren.
__pycache__
/cache
/history/*/*
!/history/*/history.config
!/history/*/olive_config.json