cuda-convnet2


Fast convolutional neural networks in C++/CUDA

This is an update to cuda-convnet. Update: this project is being moved to GitHub, since Google Code is shutting down. Click here for the GitHub project.

This project has three major new features relative to cuda-convnet: 1. Improved training times on Kepler-generation Nvidia GPUs (Geforce Titan, K20, K40). 1. Multi-GPU training support implementing data parallelism, model parallelism, and the hybrid approach described in One weird trick for parallelizing convolutional neural networks. 1. Less-polished code and incomplete (but improving) documentation.

Documentation

Usage

  • Compiling -- how to compile the code
  • Data -- how to generate training data
  • TrainingExample -- how to train an example network
  • LayerParams -- how to specify a custom network
  • MultiGPU -- how to train multi-GPU networks
  • ShowNet -- how to look inside trained networks

Reference

  • Arguments -- listing of command-line arguments
  • NeuronTypes -- listing of supported neuron activation functions
  • LearningRates -- listing of supported learning rate schedules

Contact

  • My email

Contributions

  • This code includes contributions by Anker Guo of the Tencent BestImage team:
    • 50% acceleration of batch-32 convolution kernels; 10% acceleration of batch-128 convolution kernels.

Project Information

The project was created on Jun 16, 2014.

Labels:
cuda Machinelearning neuralnet Academic convnet GPU