Guide 02 · Model bundle

Give VRAVEN one self-contained folder.

A model file rarely explains how to rebuild the architecture or prepare its input. A VRAVEN bundle keeps that contract beside the weights.

Arrange the files

my-model/
├── model.pt
├── input.npy
└── architecture.py

architecture.py should expose the callable used to construct the model, for example Classifier. Keep every referenced path inside the bundle directory.

Create the manifest

vraven bundle-init ./my-model \
  --model model.pt \
  --input input.npy \
  --model-format state_dict \
  --factory architecture:Classifier \
  --task explain \
  --preset standard \
  --format html \
  --output report.html

This creates my-model/vraven.json. The manifest stores paths and defaults—not model data.

Validate, then run

vraven bundle ./my-model
vraven analyse ./my-model

The second command loads the bundle defaults and writes my-model/report.html. Override one decision without rewriting the manifest:

vraven analyse ./my-model \
  --task adversarial \
  --preset thorough \
  --output adversarial-report.html
Only have model.pt?A state dictionary does not contain the Python architecture. Supply a factory module. A full pickled model can be loaded with --trusted-model, but only when you trust its source because pickle loading can execute code.
Using a Git checkout?The public CLI remains the main interface. Repository scripts are reserved for contributors who need to regenerate the full research fixture. See Develop from source.