Explore AIM repos
An AIM repository is merely a folder where AIM stores a rocksdb database (see AIM reference doc for more info).
AIM has great functionality for tracking metrics but has very little support for tracking general artifacts outside console output and nor has native support for storing trained models files.
Hence tcbench complement AIM by collecting runs artifacts into run-specific folders.
Specifically, a tcbench repository has the following structure
<root>
├── .aim
├── artifacts
│ ├── 001baa39ed8d4b8bb9966e94
│ ├── 025830cb840b4f3f8f0a1625
│ ├── 050bae064b5246f88e821a29
...
└── campaign_summary
└── <campaign_id>
-
Each subfolder of
/artifactscollects the artificats of a specific run and is named with the hash of the run itself. -
The
/campaign_summarysubfolder collects reports generated by theaimrepo reportsubcommand.
Investigating the content of one run artifact folder
Output
For each run tcbench creates the following artifacts:
-
params.ymlis a YAML file collecting parameters used when triggering a run, i.e., both the arguments explicitly defined on the command line, as well the ones with default values. -
log.txtcollects the console output generated by the run. -
<context>_class_rep.csvcontains a classification report. The filename is bounded to the context (i.e., train, val, test) used to generate it. -
<context>_conf_mtx.csvcontains confusion matrix. The filename is bounded to the context (i.e., train, val, test) used to generate it. -
best_model_weights_split_<split-index>.ptstores the weights of the best trained pytorch model (for a deep learning model). The filename is bounded to the specific split index configured when triggering the run. -
xgb_model_split_<split-index>.jsonstores an XGBoost model (when training via xgboost). The filename is bounded to the specific split index configured when triggering the run.