Workflow Foundation based Machine Learning Algorithm Library by using GPGPU for computation backend
Clone or download
unbornchikken Merge remote-tracking branch 'origin/D' into D
Conflicts:
	Neuroflow.Native/AssemblyInfo.cpp
	Neuroflow.Native/Callbacks.h
	Neuroflow.Native/NativeDataArray.cpp
	Neuroflow.Native/NativeDataArrayFactory.cpp
	Neuroflow.Native/NativeException.h
	Neuroflow.Native/app.ico
	Neuroflow.Native/app.rc
	Neuroflow.UT/Neuroflow.UT.csproj
	Neuroflow.UT/TestCategories.cs
	Neuroflow/Marshaled.cs
	Neuroflow/NeuralNetworks/ActivationFunction.cs
	Neuroflow/NeuralNetworks/RTLRLayerInfo.cs
	Neuroflow/NeuralNetworks/_LearningAlgo/CrossEntropyLearningRule.cs
	Neuroflow/NeuralNetworks/_LearningAlgo/ManagedCrossEntropyLearningAlgo.cs
	Neuroflow/NeuralNetworks/_LearningAlgo/ManagedGradientDescentLearningAlgo.cs
	Neuroflow/Properties/AssemblyInfo.cs
	NeuroflowN.UT/OCLProgramTests.cpp
	NeuroflowN.UT/OCLVectorUtilsTests.cpp
	NeuroflowN.UT/stdafx.cpp
	NeuroflowN.UT/targetver.h
	NeuroflowN/DataArray.h
	NeuroflowN/DeviceInfo.h
	NeuroflowN/Error.h
	NeuroflowN/GetSize.h
	NeuroflowN/GetVectorSize.h
	NeuroflowN/NUtils.h
	NeuroflowN/OCL.h
	NeuroflowN/OCLDataArray.cpp
	NeuroflowN/OCLDataArrayFactory.h
	NeuroflowN/OCLError.h
	NeuroflowN/OCLMultilayerPerceptronAdapter.h
	NeuroflowN/OCLProgramUnit.h
	NeuroflowN/OCLStructs.h
	TestConsole/App.config
	_vault/NFBak/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/Neuroflow.Native/app.ico
	_vault/NFBak/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/Neuroflow.Native/app.rc
	_vault/NFBak/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/Neuroflow/Marshaled.cs
	_vault/NFBak/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/NeuroflowN/OCL.h
	_vault/NFBak/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/NeuroflowN/targetver.h
	_vault/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/Neuroflow.Native/app.ico
	_vault/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/Neuroflow.Native/app.rc
	_vault/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/Neuroflow/Marshaled.cs
	_vault/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/NeuroflowN/OCL.h
	_vault/NFBak/Neuroflow_vsonline/Neuroflow/Neuroflow-Reborn/NeuroflowN/targetver.h
	_vault/prev_version_win/Neuroflow.Native/AssemblyInfo.cpp
	_vault/prev_version_win/Neuroflow.Native/Callbacks.h
	_vault/prev_version_win/Neuroflow.Native/NativeDataArray.cpp
	_vault/prev_version_win/Neuroflow.Native/NativeDataArrayFactory.cpp
	_vault/prev_version_win/Neuroflow.Native/NativeException.h
	_vault/prev_version_win/Neuroflow.UT/Neuroflow.UT.csproj
	_vault/prev_version_win/Neuroflow.UT/TestCategories.cs
	_vault/prev_version_win/Neuroflow/NeuralNetworks/ActivationFunction.cs
	_vault/prev_version_win/Neuroflow/NeuralNetworks/RTLRLayerInfo.cs
	_vault/prev_version_win/Neuroflow/NeuralNetworks/_LearningAlgo/CrossEntropyLearningRule.cs
	_vault/prev_version_win/Neuroflow/NeuralNetworks/_LearningAlgo/ManagedCrossEntropyLearningAlgo.cs
	_vault/prev_version_win/Neuroflow/NeuralNetworks/_LearningAlgo/ManagedGradientDescentLearningAlgo.cs
	_vault/prev_version_win/Neuroflow/Properties/AssemblyInfo.cs
	_vault/prev_version_win/NeuroflowN.UT/OCLProgramTests.cpp
	_vault/prev_version_win/NeuroflowN.UT/OCLVectorUtilsTests.cpp
	_vault/prev_version_win/NeuroflowN.UT/stdafx.cpp
	_vault/prev_version_win/NeuroflowN/DataArray.h
	_vault/prev_version_win/NeuroflowN/DeviceInfo.h
	_vault/prev_version_win/NeuroflowN/Error.h
	_vault/prev_version_win/NeuroflowN/GetSize.h
	_vault/prev_version_win/NeuroflowN/GetVectorSize.h
	_vault/prev_version_win/NeuroflowN/NUtils.h
	_vault/prev_version_win/NeuroflowN/OCLDataArray.cpp
	_vault/prev_version_win/NeuroflowN/OCLDataArrayFactory.h
	_vault/prev_version_win/NeuroflowN/OCLError.h
	_vault/prev_version_win/NeuroflowN/OCLMultilayerPerceptronAdapter.h
	_vault/prev_version_win/NeuroflowN/OCLProgramUnit.h
	_vault/prev_version_win/NeuroflowN/OCLStructs.h
	_vault/prev_version_win/TestConsole/App.config
	_vault/prev_version_win/prev_version_win/Neuroflow.Native/AssemblyInfo.cpp
	_vault/prev_version_win/prev_version_win/Neuroflow.Native/Callbacks.h
	_vault/prev_version_win/prev_version_win/Neuroflow.Native/NativeDataArray.cpp
	_vault/prev_version_win/prev_version_win/Neuroflow.Native/NativeDataArrayFactory.cpp
	_vault/prev_version_win/prev_version_win/Neuroflow.Native/NativeException.h
	_vault/prev_version_win/prev_version_win/Neuroflow.UT/Neuroflow.UT.csproj
	_vault/prev_version_win/prev_version_win/Neuroflow.UT/TestCategories.cs
	_vault/prev_version_win/prev_version_win/Neuroflow/NeuralNetworks/ActivationFunction.cs
	_vault/prev_version_win/prev_version_win/Neuroflow/NeuralNetworks/RTLRLayerInfo.cs
	_vault/prev_version_win/prev_version_win/Neuroflow/NeuralNetworks/_LearningAlgo/CrossEntropyLearningRule.cs
	_vault/prev_version_win/prev_version_win/Neuroflow/NeuralNetworks/_LearningAlgo/ManagedCrossEntropyLearningAlgo.cs
	_vault/prev_version_win/prev_version_win/Neuroflow/NeuralNetworks/_LearningAlgo/ManagedGradientDescentLearningAlgo.cs
	_vault/prev_version_win/prev_version_win/Neuroflow/Properties/AssemblyInfo.cs
	_vault/prev_version_win/prev_version_win/NeuroflowN.UT/OCLProgramTests.cpp
	_vault/prev_version_win/prev_version_win/NeuroflowN.UT/OCLVectorUtilsTests.cpp
	_vault/prev_version_win/prev_version_win/NeuroflowN.UT/stdafx.cpp
	_vault/prev_version_win/prev_version_win/NeuroflowN/DataArray.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/DeviceInfo.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/Error.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/GetSize.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/GetVectorSize.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/NUtils.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/OCLDataArray.cpp
	_vault/prev_version_win/prev_version_win/NeuroflowN/OCLDataArrayFactory.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/OCLError.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/OCLMultilayerPerceptronAdapter.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/OCLProgramUnit.h
	_vault/prev_version_win/prev_version_win/NeuroflowN/OCLStructs.h
	_vault/prev_version_win/prev_version_win/TestConsole/App.config
Latest commit e775c66 Mar 25, 2015

README.md

Neuroflow (GPL v3) v0.0.2 Alpha

A Workflow Foundation based Machine Learning Algorithm Library by using GPGPU for computation backend.

http://neuroflowblog.wordpress.com/

v0.0.2 Description

This is a very basic proof-of-concept implementation of the proposed library. There is a tiny example program for performance testing, and various unit tests for showing and verifying the features.

v0.0.2 Changelog

  • Improved kernel compilation time requirement (binary caching implemented)
  • Minor performance optimizations

v0.0.2 Features:

  • It supports OpenCL CPU and GPU modes, kernels are optimized for each
  • Architectures:
    • Feed Forward Multilayer Perceptron
    • Recurrent Multilayer Perceptron w/ Backpropagation Through Time
    • Recurrent Multilayer Perceptron w/ Realtime Recurrent Learning (no OpenCL support yet)
  • Learning algorithms:
    • Online Gradient Descent
    • Offline Gradient Descent
    • Alopex-B (no OpenCL support yet)
    • Cross Entropy Method (no OpenCL support yet)

v0.0.2 Requirements

  • Visual Studio 2013
  • Boost 1.55b (BOOST, BOOSTLIBx86, BOOSTLIBx64 environment variable must be set)
  • Intel or AMD OpenCL SDK (OCLINC, OCLLIBx86, OCLLIBx64 environment variable must be set)

v0.0.2 Future Directions

  • RTLR by using OpenCL CPU and GPU modes
  • Multiple activation function support (Tanh, Bipolar Logistic)
  • Cross Entropy cost function support
  • Sign Changes, SuperSAB, Rprop (all variations), SCG, Oja
  • Weight Decay
  • Long Short Term Memory architecture
  • Workflow Foundation 4.5 Activities. I have proof-of-concept code for WF integration ideas in my private repository but there is nothing publish-ready yet.
  • Double precision support

githalytics.com alpha