Releases: wzwietering/model_builder
Hyperparameter improvements
Improvements to the HyperParameters object. Now you have to set bounds. Hyperparameters created from a nested dictionary structure, allowing them to be stored as JSON. Below is an example.
from model_builder import HyperParameters
hyperparameters_dict = {
"learning_rate": {"min": 0.0001, "max": 0.001, "start": 0.0001},
"epochs": {"min": 1, "max": 100, "start": 2},
"validation_split": {"min": 0.1, "max": 0.3, "start": 0.2},
}
hyperparameters = HyperParameters(**hyperparameters_dict)
Also ensured that learning rate is now used, which was previously forgotten.
Optimization framework
This release contains code to optimize hyperparameters. It is mainly a framework, but Hill Climbing is included as a proof of technology.
Added learning rate
Now you can set the learning rate of your model from the configuration. This is optional.
Improved packaging
Changes
The ModelBuilder, ModelSerializer and Model are now easier to import:
from model_builder import ModelBuilder
from model_builder import ModelSerializer
from model_builder import Model
First release
Version 0.1.0
Build Keras models using a config. All can be done from the ModelBuilder class. This parses the config, analyzes it and converts it into a Keras model. A serializer is also available which can reproduce the input exactly. Currently the code supports the following parameters:
- Model parameters
- Loss
- Activation
- Optimizer
- Metrics (optional)
- Dense layers
- Units
- Dropout (optional)
- Conv2D layers
- Filters
- Kernel size
- Stride (optional)
- Max Pooling (optional, can not be combined with Average Pooling)
- Average Pooling (optional, can not be combined with Max Pooling)
- Dropout (optional)
- RNN, GRU and LSTM layers
- Units
- Dropout (optional)
- Bidirectional (optional)
- Gaussian Noise layers
- Stddev