Skip to content

hmendozap/master-arbeit-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto-Net component for autosklearn and support files of HDMP's Master Thesis.

Auto-Net is a tool for automatically configure neural networks using auto-sklearn, a system for automated machine learning. The result of this work was published as a workshop paper: Towards automatically-tuned neural networks. In this repository you could find the component that goes into auto-sklearn and the plotting scripts used for hyperparameter analysis (requires fANOVA dependency).

Installation Requirements:

  • auto-sklearn
  • Theano (0.9.0rc1)
  • Lasagne (development branch)

Auto-sklearn uses scikit-learn's component methods, as Auto-Net does. These components are located in inside autosk_dev_test/component/. Inside the component's directory the implementation of the code in Theano can be found and the unit tests.

To install inside auto-sklearn (recommended):

  • Install auto-sklearn with editing capabilities (e.g. pip -e )
  • Clone this repository
  • Copy the file autosk_dev_test/component/DeepNetIterative.py to path_to_autosklearn/auto-sklearn/autosklearn/pipeline/components/classification
  • Copy the file autosk_dev_test/component/RegDeepNet.py to path_to_autosklearn/auto-sklearn/autosklearn/pipeline/components/regression
  • Copy the file autosk_dev_test/component/implementation/FeedForwardNet.py to path_to_autosklearn/auto-sklearn/autosklearn/pipeline/implementations
  • Fix imports (actually just one line)

To only use auto-net inside autosklearn (Taken from auto-sklearn example):

automl = autosklearn.classification.AutoSklearnClassifier(include_estimators=['DeepNetIterative'])

To use auto-net as a third party component (Experimental):

  • Install auto-sklearn
  • Clone this repository
  • Optional: Add the path of component to your PYTHONPATH

Add the component before starting autosklearn:

from autosklearn.pipeline.components.classification import add_classifier
from component import DeepNetIterative

add_classifier(DeepNetIterative.DeepNetIterative)

[...]

automl = autosklearn.automl.AutoML(include_estimators=['DeepNetIterative'])

Plotting using validation and fANOVA

Because training Auto-Net provided with a lot of data to observe hyperparameters' behavior, I used the scripts inside the plotting_params_distro folder.

Dependencies required to run the notebooks and python scripts:

About

Small repository of collection from various files used to write my thesis

Resources

License

Stars

Watchers

Forks

Packages

No packages published