Skip to content

turi-code/cxxnet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#cxxnet

CXXNET is a fast, concise, distributed deep learning framework.

Contributors: https://github.com/antinucleon/cxxnet/graphs/contributors

###Feature Highlights

  • Lightweight: small but sharp knife
    • cxxnet contains concise implementation of state-of-art deep learning models
    • The project maintains a minimum dependency that makes it portable and easy to build
  • Scale beyond single GPU and single machine
    • The library works on multiple GPUs, with nearly linear speedup
    • THe library works distributedly backed by disrtibuted parameter server
  • Easy extensibility with no requirement on GPU programming
    • cxxnet is build on mshadow
    • developer can write numpy-style template expressions to extend the library only once
    • mshadow will generate high performance CUDA and CPU code for users
    • It brings concise and readable code, with performance matching hand crafted kernels
  • Convenient interface for other languages
    • Python interface for training from numpy array, and prediction/extraction to numpy array
    • Matlab interface

News

  • 09-Apr, 2015: Matlab Interface is ready to use

Backbone Library

CXXNET is built on MShadow: Lightweight CPU/GPU Tensor Template Library

  • MShadow is an efficient, device invariant and simple tensor library
    • MShadow allows user to write expressions for machine learning while still provides
    • This means developer do not need to have knowledge on CUDA kernels to extend cxxnet.
  • MShadow also provides a parameter interface for Multi-GPU and distributed deep learning
    • Improvements to cxxnet can naturally run on Multiple GPUs and being distributed

###Build

  • Copy make/config.mk to root foler of the project
  • Modify the config to adjust your enviroment settings
  • Type ./build.sh to build cxxnet

Packages

No packages published

Languages

  • C++ 89.6%
  • Python 4.0%
  • MATLAB 2.3%
  • C 1.8%
  • Makefile 1.2%
  • Shell 0.6%
  • Other 0.5%