CUDA/OpenCL Sample OCR Project

This sample project uses a Optical Character Recognition (OCR) dataset along with a single hidden-layer Mutli-Layer Perceptron (MLP) neural network using the Levenberg-Marquardt (LM) learning algorithm. The Levenberg-Marquardt is the default learning algorithm in NeuroSolutions and is the most powerful form of back-propagation learning available.

Test Environment

Dell Studio XPS 9000
Operating System Windows 7 64-bit
Processor Intel® Core™ i7-920 processor (8MB L3 Cache, 2.67GHz)
Memory 9GB DDR3 SDRAM at 1066MHz - 6 DIMMs
Hard Drive 750GB 7200 RPM SATA Hard Drive

Data Set Information

The Letter Recognition Data Set1 features 20,000 total samples, 16 attributes and one desiredOutput (26 letters from A to Z). The sample project is trained on 17,000 exemplars/samples (3,000 set aside for Cross Validation) for 100 epochs in NeuroSolutions using the CUDA/OpenCL Pro add-on.

Download this project and try for yourself -

How to Run in NeuroSolutions

After downloading the data and extracting it to a writable directory on your computer you can evaluate the performance in NeuroSolutions with both CUDA/OpenCL enabled and disabled through the following steps:
  1. Open the directory that was extracted from the file.
  2. Open the file LetterRecognition.nsb which should launch NeuroSolutions.
  3. In the upper left hand corner of the breadboard you will see two red dials. Right-click on this component and choose Properties.
  4. in the BackStaticControl Inspector there will be a checkbox for "Use GPU" which can be enabled or disabled from this dialog for performance testing on your system.
    • Note: If this option is greyed out then you either do not have the supported hardware OR you do not have the necessary drivers installed to use this feature. Contact technical support for assistance if you are sure you have supported hardware installed.
  5. Press the Start button on the toolbar to begin the simulation.

Choosing a Graphics Card

Our products support the two major brands of graphics cards: AMD™ & NVIDIA™.

Cost is likely to be the largest contributing factor in deciding on a graphics card. Prices can range from $100 to $3,500 depending on the brand and product line. AMD Radeon™ graphic cards provide the best cost-to-performance value starting at $100 with high end cards competing with NVIDIA Tesla™ cards in terms of performance. NVIDIA GeForce™ graphic cards are often more expensive than AMD Radeon cards and are hindered by NVIDIA throttling (600 Series and later) the double precision performance to help boost the appeal of their Tesla product line. NVIDIA Tesla™ is designed specifically for parallel computing providing extremely fast double precision computational times and boast a price tag starting at roughly $1,000.

Performance is likely to be the next biggest factor in deciding on a graphics card and this is where it can be a bit tricky. Ultimately your data set size and neural network size/structure will dictate how much performance you will gain from a graphics card. A small data set and/or neural network may not require a high end card to provide optimal performance. However, a large data set and/or neural network will benefit from a high end graphics card and may even require more than one graphics card which is currently only supported through NVIDIA CUDA™ graphic cards. A good baseline is the letter recognition data set which through our internal testing has shown that will utilize 95-100% of the GPUs processing on high end AMD Radeon, NVIDIA GeForce and Tesla cards. If your data set is larger than the letter recognition then you will likely want a high end AMD Radeon, NVIDIA GeForce or NVIDIA Tesla card(s).

On the Graphic Cards page, we breakdown the theoratical best performing cards for each price range to help in making an optimal decision. If you are still unsure how to proceed with purchasing a graphics card, please feel free to contact technical support for assistance.

1. Data set courtesy of UCI Machine Learning Repository

NeuroDimension, Inc. announces the release of NeuroSolutions 6.31!

[an error occurred while processing this directive]