autokeras: Specify hyperparameter ranges for blocks
Feature Description
We want to enable the users to specify the value ranges for any argument in the blocks. The following code example shows a typical use case. The users can specify the number of units in a DenseBlock to be either 10 or 20.
Code Example
import autokeras as ak
from kerastuner.engine.hyperparameters import Choice
input_node = ak.ImageInput()
output_node = ak.DenseBlock(num_units=Choice("num_units", [10, 20]))(input_node)
output_node = ak.ClassificationHead()(output_node)
model = ak.AutoModel(input_node, output_node)
Note
Each pull request should only change one hyperparameter in one of the blocks.
Solution
Example pull requests are #1419 #1425 . Here are the steps to follow:
- You can just change any other argument in any other block supported by AutoKeras, as shown here.
- Change the docstring. example
- Make sure you imported the module.
from kerastuner.engine import hyperparameters
. - Change the typing of the argument. example
- Change the saving mechanism to serialized objects. example
- Change the loading mechanism to deserialized objects. example
- Change how we initialize the hyperparameter to self. example Copy from where it is originally defined. example
- Change how we use it. example
About this issue
- Original URL
- State: open
- Created 4 years ago
- Comments: 18 (16 by maintainers)
Commits related to this issue
- Update basic.py Partially fixes #1420 Added hyperparameter range for XceptionBlock — committed to khayamgondal/autokeras by khayamgondal 3 years ago
- Partially fixes #1420 Partially fixes #1420 Added hyperparameter range for XceptionBlock — committed to khayamgondal/autokeras by khayamgondal 3 years ago
@NickSmyr The PR is merged. Thanks for your contribution! AutoKeras will have another release soon before TF 2.9.0 stable release. Your commit will be in it.