Hessian-free optimization for deep networks
Project description
Hessian-free optimization for deep networks
Setup
Quick start
Install the package via:
pip install hessianfree
To make sure things are working, open a python interpreter and enter:
import hessianfree as hf
hf.demos.xor()
A simple xor training example will run, at the end of which it will display the target and actual outputs from the network.
Developer install
Use this if you want to track the latest changes from the repository:
git clone https://github.com/drasmuss/hessianfree.git
cd hessianfree
python setup.py develop --user
Requirements
python 2.7 or 3.5
numpy 1.9.2
matplotlib 1.3.1
optional: scipy 0.15.1, pycuda 2015.1.3, scikit-cuda 0.5.1, pytest 2.7.0
(older versions may work, but are untested)
Features
All the standard features of Hessian-free optimization from Martens (2010) and Martens and Sutskever (2011) are implemented (Gauss-Newton approximation, early termination, CG backtracking, Tikhonov damping, structural damping, etc.). In addition, the code has been designed to make it easy to customize the network you want to train, without having to modify the internal computations of the optimization process.
Works for feedforward and recurrent deep networks (or mixtures of the two)
Standard nonlinearities built in (e.g., logistic, tanh, ReLU, softmax), and support for custom nonlinearities
Standard loss functions (squared error, cross entropy, sparsity constraints), and support for custom loss functions
Various weight initialization methods (although Hessian-free optimization doesn’t usually require much tweaking)
Customizable connectivity between layers (e.g., skip connections)
Efficient implementation, taking advantage of things like activity caching
Optional GPU acceleration if PyCUDA and scikit-cuda are installed
Gradient checking (and Gauss-Newton matrix checking) implemented to help with debugging
Inputs can be predefined or generated dynamically by some other system (like an environmental simulation)
Different optimizers can be swapped out for comparison (e.g., Hessian-free versus SGD)
Documentation
View the documentation at http://pythonhosted.org/hessianfree/
In addition, examples illustrating the main features of the code can be found in demos.py.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file hessianfree-0.4.0.zip
.
File metadata
- Download URL: hessianfree-0.4.0.zip
- Upload date:
- Size: 64.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | faacb0906e38fd2e878d0bc2c68167fca6b24319c0283be99c7643a42a6b694b |
|
MD5 | 7b30ed1329b1fc9298c757ac13f0cbc4 |
|
BLAKE2b-256 | f7b3e1e31f20d363abe6c3882920392d83ad85cec1bbac64d3223ef2ef8f9bc8 |