-
Create a
buildfolder in the repo root directory and switch to the foldermkdir build cd build -
Generate a Makefile through CMake using the following command
cmake ..
-
Run the build process using Makefile
make -j
This should generate the binary
sicin thebuilddirectory.
-
Use the provided script to fetch the MNIST
.binfiles intodata/.From the /data/MNIST folder:
./mnist_download.sh
-
The
sicbinary requires a configuration file (.cfg) and a mode as input arguments../sic -config ../config_files/MNIST_Small_CNN.cfg -mode 0
Use
-mode <id>to select behavior:Value Mode name Effect 0 BUILD_COMPLETE_NETWORKBuild/train a full seed network from scratch. 1 REBUILD_COMPLETE_NETWORKReload an existing full network and continue/evaluate. 2 BUILD_CLASS_LEVEL_NETWORKBuild per-class networks from scratch. 3 REBUILD_CLASS_LEVEL_NETWORKReload per-class networks and continue/evaluate. 4 NEUROGENESISRun the ANG growth phase on the seed network. 5 REBUILD_NEUROGENESISResume/reevaluate a saved ANG growth run. -
Configure SIC/pruning by adding one of these keys to the
.cfg.Key in .cfgPrinted banner Effect Example line in .cfgSIC----- SIC -----SIC only SIC;SIC_PRUNE----- SIC Prune -----SIC then prune SIC_PRUNE;PRUNE_SIC----- Prune SIC -----Prune then SIC PRUNE_SIC;PRUNE----- Prune -----Prune only PRUNE;