OpenNN Documentation

Getting started

OpenNN start

In this tutorial you'll learn how to start using OpenNN: Where can I find information about it? Where can I download the library? How can I get support and training? What are the main advantages of using OpenNN? What is the different between OpenNN and Neural Designer?

Building OpenNN

OpenNN has been written in ANSI C++. This means that the library can be built on any system with little effort. OpenNN includes project files for Qt Creator. When working with another compiler is needed, a project for it must be created. In this tutorial, you'll learn how to do that.

Neural networks basics

In this tutorial we formulate the learning problem for neural networks and describe some learning tasks that they can solve.

The software model of OpenNN

In this tutorial we present the software model of OpenNN. The whole process is carried out in the Unified Modeling Language (UML). The Unified Modeling Language (UML) is a general purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of a software system. In order to construct a model for OpenNN, we follow a top-down development. This approach to the problem begins at the highest conceptual level and works down to the details.

Main classes

The vector and matrix templates

In this tutorial, we will learn about the vector and matrix templates and how OpenNN allows you to easily work with them.

The data set class

The data set contains the information needed to construct the predictive model. In this tutorial we will see how to use that concept within OpenNN.

The neural network class

In this tutorial, we will see that the class of neural network implemented in OpenNN is based on the multilayer perceptron. That model is extended here to contain scaling, unscaling, bounding, probabilistic and conditions layers. A set of independent parameters associated to the neural network is also included here for convenience.

The loss index class

The loss index defines the learning task for a neural network. In OpenNN, a loss index consists of three different terms: error, regularization and constraints. This tutorial introduces the loss index in OpenNN.

The training strategy class

The procedure used to carry out the learning process in a neural network is called the training strategy. In this tutorial you will learn about how to use training strategy in OpenNN.

The model selection class

In order to obtain the best model, we have to optimize the architecture of the neural network. This tutorial shows the different types of model optimization and the algorithms contained in OpenNN.

The testing analysis class

The purpose of testing is to compare the outputs from the neural network against targets in an independent testing set. In this tutorial, you will learn about the test for the quality of the model for the diffentts types of problems.


OpenNN reference

This is the Reference Guide for the OpenNN. In contains detailed information on properties and methods within the library.


Example templates

This tutorial provides a sample code of the usage of this library for a simple training of the model.