zhxfl / Cuda Cnn
CNN accelerated by cuda. Test on mnist and finilly get 99.76%
Stars: ✭ 148
Labels
Projects that are alternatives of or similar to Cuda Cnn
Marian Dev
Fast Neural Machine Translation in C++ - development repository
Stars: ✭ 136 (-8.11%)
Mutual labels: cuda
Remotery
Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer
Stars: ✭ 1,908 (+1189.19%)
Mutual labels: cuda
Libcudacxx
The C++ Standard Library for your entire system.
Stars: ✭ 1,861 (+1157.43%)
Mutual labels: cuda
Partial Order Pruning
Partial Order Pruning: for Best Speed/Accuracy Trade-off in Neural Architecture Search
Stars: ✭ 135 (-8.78%)
Mutual labels: cuda
Py Faster Rcnn Windows
py-faster-rcnn that can compile on windows directly
Stars: ✭ 126 (-14.86%)
Mutual labels: cuda
Optical Flow Filter
A real time optical flow algorithm implemented on GPU
Stars: ✭ 146 (-1.35%)
Mutual labels: cuda
Spanet
Spatial Attentive Single-Image Deraining with a High Quality Real Rain Dataset (CVPR'19)
Stars: ✭ 136 (-8.11%)
Mutual labels: cuda
Hoomd Blue
Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
Stars: ✭ 143 (-3.38%)
Mutual labels: cuda
Forward
A library for high performance deep learning inference on NVIDIA GPUs.
Stars: ✭ 136 (-8.11%)
Mutual labels: cuda
Mixbench
A GPU benchmark tool for evaluating GPUs on mixed operational intensity kernels (CUDA, OpenCL, HIP, SYCL)
Stars: ✭ 130 (-12.16%)
Mutual labels: cuda
Gpurir
Python library for Room Impulse Response (RIR) simulation with GPU acceleration
Stars: ✭ 145 (-2.03%)
Mutual labels: cuda
Sketchgraphs
A dataset of 15 million CAD sketches with geometric constraint graphs.
Stars: ✭ 148 (+0%)
Mutual labels: cuda
CUDA-CNN
Document
- The simple c version author is Eric
- Overlap Data Transfers in CUDA
- The sub-version use cudnn is tdx
Results
CNN accelerated by cuda.
The start-of-art result's of popular datasets
- Test on mnist and get 99.76%, after voting(99.82%) (best 99.79%)
- Test on cifar-10 and get 87% (best 89%)
Feature
- Use Dropout to train the NetWork
- Support checkpoint, the program will save the best test result and save the network weight in the file "Result/checkPoint.txt", If the program exit accidentally, you can continue the program form this checkpoint.
- Translate the data set of mnist, including scale, rotate, distortion, accordding to Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis.
- The log will be saved in the file "Result/log.txt".
- In the convolutional layers, you can chose combine feature maps, according to notes on Convolutional Neural NetWorks.
- Support local connection layers.
- If you want the program run fast, you can set the "TEST_EPOCH" to be large.
- Support branchLayer and combineLayer, which is designed accordding to ***goolenet***, the network structure is no logger an linear structure but Directed acycline graph.
Compile
Depend on opencv and cuda
You can compile the code on windows or linux.
###SDK include path(-I)
- linux: /usr/local/cuda/samples/common/inc/ (For include file "helper_cuda"); /usr/local/include/opencv/ (Depend on situation)
- windows: X:/Program Files (x86) /NVIDIA Corporation/CUDA Samples/v6.5/common/inc (For include file "helper_cuda"); X:/Program Files/opencv/vs2010/install/include (Depend on situation)
###Library search path(-L)
- linux: /usr/local/lib/
- windows: X:/Program Files/opencv/vs2010/install/x86/cv10/lib (Depend on situation)
###libraries(-l)
- opencv_core
- opencv_highgui
- opencv_imgproc
- opencv_imgcodecs (need for opencv3.0)
- cublas
- curand
- cudadevrt
###GPU compute
- capability 2.0
###CMake for Linux
- sudo apt-get install cmake libopencv-dev
- mkdir build
- cd build
- cmake ..
- make -j16
- cd ../mnist/
- sh get_mnist.sh
- cd ../cifar-10
- sh get_cifar10.sh
- cd ../
- ./build/CUDA-CNN 1 1
###Windows
- Install vs2010.
- Download and install opencv-2.4 or other higher versions
- Download and install cuda-5.0 or other higher versions
- When you create a new project using VS2010, You can find NVIDIA-CUDA project template, create a cuda-project.
- View-> Property Pages-> Configuration Properties-> CUDA C/C++ -> Device-> Code Generation-> compute_20,sm_20
- View-> Property Pages-> Configuration Properties-> CUDA C/C++ -> Common-> Generate Relocatable Device Code-> Yes(-rdc=true)
- View-> Property Pages-> Configuration Properties-> Linker-> Input-> Additional Dependencies-> libraries(-l)
- View-> Property Pages-> Configuration Properties-> VC++ Directories-> General-> Library search path(-L)
- View-> Property Pages-> Configuration Properties-> VC++ Directories-> General-> Include Directories(-I)
###Linux
- Install opencv and cuda
- Start the nsight from cuda
- Create an 'empty cuda' project and import the clone code
- Project->Proerties for add-> Build-> Settings->CUDA->Device linker mode: separate compilation
- Project->Proerties for add-> Build-> Settings->CUDA->Generate PTX code 2.0
- Project->Proerties for add-> Build-> Settings->CUDA->Generate GPU code 2.0
- Project->Proerties for add-> Build-> Settings->Tool Settings->NVCC Compiler->includes: +/usr/local/cuda/samples/common/inc/; + opencv sdk include path ;
- Project->Proerties for add-> Build-> Settings->Tool Settings->NVCC Linkers->Libraries: libraries(-l)
- Project->Proerties for add-> Build-> Settings->Tool Settings->NVCC Linkers->Libraries search path(-L): /usr/local/lib/
Config
Informations
- Author :zhxfl
- Mail :[email protected]
- Welcome for any suggest!!
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].