Refactor neural network
This merge request provides the following improvements/enhancements:
-
The class
CNNWhale
is split into a parent class calledDataHandler
, and a child class calledCNNWhale
, whereDataHandler
provides generic implementations of methods related to data handling (set, add, get training/validation/test data). -
Some method names have been simplified (e.g. create_net_structure -> create, save_model -> save, etc.)
-
A new neural network class called 'EDTCN' (Encoder-Decoder Temporal Network) has been implemeted using keras methods from the Tensorflow library.
-
A new class called
TrainingDataProvider
has also been implemented. This class facilitates an active learning process, in which extra emphasis is placed on the training examples that yield low confidence predictions or wrong predictions.
Things still to be done:
-
Implement more unit tests of
TrainingDataProvider
-
Finish implementation of
EDTCN
(including unit tests)