Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Issue Stats Issue Stats

Vulpes

Vulpes is an implementation of deep belief and deep learning, written in F# and using Alea.cuBase to connect to your PC's GPU device.

Building

At present, Vulpes has been built only on Visual Studio.

To run Vulpes on the MNIST dataset of handwritten images, set the startup project to MnistClassification.fsproj.

For the MNIST dataset, Vulpes performs pretraining using a deep belief net, followed by fine tuning using a simple backpropagation algorithm.

The pretraining and fine tuning parameters are defined in Program.fs:

// Pretraining parameters
let dbnParameters = 
    {
        Layers = LayerSizes [500; 300; 150; 60; 10]
        LearningRate = LearningRate 0.9f
        Momentum = Momentum 0.2f
        BatchSize = BatchSize 30
        Epochs = Epochs 10
    }
// Fine tuning parameters
let backPropagationParameters =
    {
        LearningRate = LearningRate 0.8f
        Momentum = Momentum 0.25f
        Epochs = Epochs 10
    }

The pretraining is launched by the line

let trainedMnistDbn = trainMnistDbn rand dbnParameters

The output of the pretraining is then translated into a set of backpropagation inputs, which are used to launch the fine tuning in the next line:

let backPropagationNetwork = toBackPropagationNetwork backPropagationParameters trainedMnistDbn
let backPropagationResults = gpuComputeNnetResults backPropagationNetwork mnistTrainingSet mnistTestSet rand backPropagationParameters

Contributions

There are several avenues for further development of Vulpes. To contribute as a developer, I would encourage you to join the mailing list, where we can discuss the issues and milestones.

There is a list of milestones and an issues database in this repository.

Maintainer(s)

The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)

About

Vulpes: a Deep Belief Net written in F#, and using Alea.cuBase to access the GPU.

Resources

License

Packages

No packages published

Languages