store results of grid-search in text results file.
run multiple configurations passed by user.
read configurations passed in text config file.
display best configuration.
display loss and acc curve for each run.
enable Multiple runs per config for stable results.
How the API looks like?
def gridsearch_manual(run_fn,configs,results_file,runs=3,
plot_acc_curves=False,verbose=0):
"""
run_fn: this function takes config as input, reads data, runs model and gives out
train_acc,val_acc,training_time,train_acc_list,val_acc_list
configs: is a list of user defined configs, it is either a filename or a list of dict. In case it is file
it should be csv, 1st row as header names, and each row is treated as a single config, and 1
row is read as key-value pair.
runs: is the number of times each config is tried, to ensure stable results
"""
return best_config
Intended Usage
This will be called from a script file or notebook, and provide best hyper-params
Limitations
Each Config has to be defined by user. Later another function which can generate these configs will be made. Something like Scikit's GridSearchCV
Only flat hierarchy configs are supported. So each config in configs list is a dict like param_name->value, no nested dicts.
Online References/Documentation was referred while making this API
Proposed Features
How the API looks like?
Intended Usage This will be called from a script file or notebook, and provide best hyper-params
Limitations
configs
list is a dict like param_name->value, no nested dicts.Online References/Documentation was referred while making this API
Branch Name (The github branch in which you are working on this).
Note: Before raising a PR make sure that you have made an issue like this with tag: enhancement, ensure your code is tested and documented.