Having trouble reading this newsletter? Click here.

   Visit ND.com  |  Download NeuroSolutions  |  Download TradingSolutions Volume 5, No.3  

This is the NeuroDimension Newsletter, which you are receiving because you requested to stay informed about new developments at NeuroDimension. If you would like to stop receiving these newsletters, please see the bottom of this newsletter for removal instructions.


In this issue...
   What's New and News?   
NeuroSolutions v4.23 Now Available

NeuroSolutions v4.23 is now available for free download for all customers and prospective customers. This release adds support for Visual Studio .NET 2003 in the Custom Solution Wizard, C++ Code Generation, and User-Defined Neural Components.

A complete list of fixes and improvements can be found at http://www.neurosolutions.com/downloads/nsimprove.html.

If you already have NeuroSolutions v4.0 or higher installed on your computer, you can upgrade to v4.23 by downloading and running the patch from http://www.neurosolutions.com/downloads/patches.html.

The complete installation program is available for download from http://www.neurosolutions.com/download.html.


TradingSolutions v2.1 Build 030825 Now Available

TradingSolutions v2.1 Build 030825 is now available from the TradingSolutions website. This build adds several usability enhancements and improvements, as well as fixing several issues that were encountered in the previous builds of TradingSolutions v2.1.

Key improvements in this build include:
  • Support for importing end-of-day data from Quotes Plus.
  • Support for streaming multiple periodicities from eSignal.
A complete list of new improvements and fixes can be found in the Product Updates section of the TradingSolutions website.

The Evaluation version, End-of-Day level, and Real-Time level can all be updated for free by downloading an update patch from the following link:
http://www.tradingsolutions.com/downloads/updates.html

   User Survey   
LabVIEW, MATLAB, and Simulink Survey

We are currently evaluating the creation of support for using NeuroSolutions neural networks in National Instruments LabVIEW product and The MathWorks MATLAB and Simulink products. If you currently use any of these products, please take a moment to fill out this brief survey. Thanks!

   LabView, MATLAB, and Simulink Survey   
Do you currently own NeuroSolutions?

Do you currently use LabVIEW?
Have you wanted to use NeuroSolutions neural networks from within LabVIEW?

Do you currently use MATLAB?
Do you use Simulink?
Do you use the MATLAB Neural Network Toolbox?
Have you wanted to use NeuroSolutions neural networks from within MATLAB or Simulink?

May we contact you with additional questions concerning your responses?

E-mail:

Note: After you press the Submit button, a "Thank You" page will be displayed. Simply close that page to continue reading this newsletter.

   NeuroSolutions Tip Box   
Generating C++ Code for a Recall-Only Network

NeuroSolutions supports deploying your neural networks for use in applications in two different ways. For most applications, the Custom Solution Wizard is the preferred method of encapsulating a neural network since it produces a DLL that is easy to use and can be accessed from applications written in C++, Visual Basic, Excel, Access and even ASP web pages.

The Professional and Developers levels of NeuroSolutions also provide the ability to generate ANSI C++ code which can be compiled directly into external applications. This feature is designed for those who are proficient at C++ and/or may need to customize the code to meet application-specific needs. It also enables neural networks to be deployed on non-Windows platforms such as UNIX with the addition of a source code license.

Generated ANSI C++ code can include the code needed to train or re-tune the network weights. However, applications often only require a fixed set of weights obtained from a NeuroSolutions training session. In other words, the application simply needs a recall-only network that will provide the network outputs when given a new set of inputs. We will outline the basic steps needed to generate this code.

By default, the code generated by NeuroSolutions will read the input data from a file and write the output data to a file. To provide a more general example, these steps will assume that the application will be written to generate the input data within a function and obtain the output data from another function. Here are the steps required:
  1. Create a neural network within NeuroSolutions using either the NeuralBuilder or NeuralExpert, train it, then save the breadboard.
  2. Right-click on the BackStaticControl (or BackDynamicControl) component (the red dials in the upper-left corner) and select “Properties” to bring up the inspector.
  3. Click the “Free ALL backprop Components” button within the “Backpropagation” tab of the inspector. This will remove all of the components related to learning. Save the breadboard under a new name.
  4. Left-click on the input File component to change the inspector and switch to the “Access” tab. Change the “Code Generation File Format” from “ASCII” to “Function”. This will change the generated code to obtain the input data from a function instead of an ASCII file.
  5. Left-click on the probe component attached to the network output to change the inspector and switch to the “Access” tab. Click the “Code Generation File Format” from “ASCII” to “Function”. This will change the generated code to send the output data to a function instead of an ASCII file.
  6. Left-click on the StaticControl component to change the inspector and switch to the “Static” tab. Change the “Epochs” to 1. Switch to the “Code” tab. Uncheck the “Save weights after run” switch (it is not necessary to save the weights after running the compiled program since the weights are fixed).
  7. Click the “New” button and provide a name and location for the generated code.
  8. Click the “Generate” button followed by the “Edit” button. Scroll down to the bottom of the code. There should be two empty functions – one for feeding in the input data and the other for obtaining the output data.
  9. The input function should contain code to fill the floating point array of “data” with one exemplar of input data. The output function should extract one exemplar of output data from the “data” array.
  10. Click the “Compile” button followed by the “Run” button.
  11. Once the program is working properly, embed the generated code within the code for the application.
   Comments or Suggestions?   

We appreciate your feedback! Please send us your comments or suggestions concerning this newsletter, our web site, or part of the NeuroDimension product line. Write to us at: newsletters@nd.com.

Have questions about NeuroDimension products? Send your questions to: info@nd.com

This issue and previous issues of this newsletter are available on the NeuroSolutions web site at: http://www.neurosolutions.com/newsletters.html

If you would prefer not to receive these newsletters or subsequent product updates from NeuroDimension, please reply to this letter with the subject heading changed to the word REMOVE.

Thank you again for your support of NeuroDimension products!

Visit ND.com