- 1.6.2 Narrowed learning rate to either 1e-04 or 1e-05.
- 1.6.1 Remove default LeakyReLU after last layer because regression should not have nonlinear output activation. Also added batch norm.
There are three directories excluded from Git, so you should set them up. The first is the DNNs
folder. You should just mkdir DNNs
under the project root. Then you need to download the data
folder containing all training data folders, and download scan_batteries
containing all the evaluation data folders. All three directories should be under project root.
To use constraint satisfaction to find any number of models, you must install SWI-Prolog first in order to use swipl
. After you have done this, call this command:
swipl create_fcns.pl 50 # Create 50 FCN models
Requires package h5py
.
Recommended concurrency is 4 because above 4 the GPU IO is bottlenecked.
python train.py "*" 4 # Train all created models, 4 at a time (concurrency)
python train.py "fcn_v1.6*" 3 # Train all created models with names starting with 'fcn_v1.6', 3 at a time (concurrency)
Packages needed include h5py
and a monkey-patched torchaudio
.
To evaluate trained models, do
python evaluate_models.py "*" # Evaluate all trained models that can be found
python evaluate_models.py "*" 1 # Evaluate 1 trained model, whichever one is found
python evaluate_models.py "fcn_v1.6.2_blah" # Evaluate model named 'fcn_v1.6.2_blah_trained', if it can be found