The params file is the recipe for every PetaVision run you cook up. It describes the [Hypercol], [Layers], and [Connections] in the neural network you create including how you want PetaVision to run and save data and checkpoints. By customizing your params file, you can make a stack, and MLP, even a hierarchy of V1 layers ... the only limit to your imagination is the size of the computer you plan to run on.
Described at the top of the params file, the HyPerCol is the largest container for the objects (layers and connections) of your run. Here's an example of a HyPerCol from a params file:
HyPerCol "column" = {
startTime = 0;
dt = 1;
dtAdaptFlag = true;
dtScaleMax = 5;
dtScaleMin = 0.25;
dtChangeMax = 0.1;
dtChangeMin = 0;
dtMinToleratedTimeScale = 0.0001;
stopTime = 5e+06;
progressInterval = 1000;
writeProgressToErr = true;
verifyWrites = true;
outputPath = "/nh/compneuro/Data/sparseFuture/output/updownSample";
printParamsFilename = "pv.params";
randomSeed = 1234567890;
nx = 480;
ny = 480;
filenamesContainLayerNames = 1;
filenamesContainConnectionNames = 1;
initializeFromCheckpointDir = "";
checkpointWrite = true;
checkpointWriteDir = "/nh/compneuro/Data/sparseFuture/output/updownSample/Checkpoints";
checkpointWriteTriggerMode = "step";
checkpointWriteStepInterval = 50000;
deleteOlderCheckpoints = false;
suppressNonplasticCheckpoints = false;
writeTimescales = true;
errorOnNotANumber = false;
};
It's easiest to think about the HyPerCol in terms of two broad categories:
PetaVision creates artificial neural networks and organizes the neurons in layers. Layers are described in dimensions relative to the HyPerCol and can ha