Contains the files used to define neural network layer architectures.
The CNNModel class (within cnnmodel.py) is an abstract template class which sets up a CNN architecture (layers), and
compiles the model with standard hyperparameters.
CNNModel contains three abstract methods which must be implemented in a child class:
add_convolutional_layers()add_hidden_layers()add_output_layers()
(Note: These methods should always be executed sequentially -- they are separated for human readability.)
- modeltrainingarguments.py
- Sets up, parses, and validate command-line arguments for model training.
- model_training.py
ModelTrainerhelper class for training Keras models, coordinating between the executing training script, images on the local filesystem, and a NN model architecture (child class ofCNNModel).
- cnnmodel.py
- Contains the abstract template class
CNNModel-- see Class Hierarchy above.
- Contains the abstract template class
- smithsonian.py
- Contains the
SmithsonianModelclass, a child class ofCNNModelbased on the layer architecture as published in the paper "Applications of deep convolutional neural networks to digitized natural history collections," Schuettpelz, Frandsen, et al. 2017.
- Contains the
