'create a neural net object that preprocesses according to feature_list and uses
a neural network specified by keyword arguments (using subclass\' create_network())
optional argument: init_network (boolean). If set to False, skips initializing
self.model and self.forward and the calling function should set them.'

def __init__(self, feature_list, **kwargs):

    self.preprocessor = Preprocess(feature_list)
    kwargs['input_dim'] = self.preprocessor.output_dim
    if kwargs.get('init_network', True):
        self.model = self.__class__.create_network(**kwargs)
        self.forward = self._model_forward()
