Skip to content

stiger104/AutoEncoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a c++ wrapper for denosing auto-encoders. You can combine the single layer auto encoder to a multi layer version using some pre-train algorithms( Stacked Auto Encoders)

IMG

Wiki : http://deeplearning.stanford.edu/wiki/index.php/Autoencoders_and_Sparsity

Using this wrapper, you can train/save/load the model, and the model is saved as a standard json( which can be applied in the product environment). you can also get the hidden layer output for your next prediction module such as LR/BPR

The denoising auto-encoder is a stochastic version of the auto-encoder. Intuitively, a denoising auto-encoder does two things: try to encode the input (preserve the information about the input), and try to undo the effect of a corruption process stochastically applied to the input of the auto-encoder. The latter can only be done by capturing the statistical dependencies between the inputs.

More details here: http://deeplearning.net/tutorial/dA.html#da

#How to use:

mkdir build

cd build

cmake ../

make

This lib rely on C++ Boost lib and gtest lib, so make sure you have installed them.

The input data format is from the Liblinear data format http://www.csie.ntu.edu.tw/~cjlin/liblinear/

you can see examples in the data folder

train the model

cd data ../build/AutoEncoder -m 1 -h 2 -v 4 -n 10000 ./test.encode ./model.json

get the hidden layer output

cd data ../build/AutoEncoder -m 2 -h 2 -v 4 -n 10000 ./test.encode ./model.json ./test.encode.hidden

if your have some questions, send email : stiger104@126.com

About

This is a c++ lib for Denoising Autoencoders

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published