Example Code

Object Oriented (G#) Neural Network library for LabVIEW 2012

Code and Documents

Attachment

Requirements:

- LabVIEW 2012

- G# framework (free download: http://www.addq.se/test-och-matsystem/g-framework-in-english/)

This library contains classes, functions and user interface for creating, training and using static feedforward neural networks. Sample project contains library, sample training data, VI that demonstrates training and User Interface VI for training networks using custom user training data.

In this version only static multilayer networks with tansig and linear output functions are supported.

Networks are objects made of network elements:

- Network inputs (processing and scaling input data)

- Network layers, subclasses:

               *linear layer

               *tansig layer

- Network outputs (processing and scaling output layer data)

Trainers are objects attached to network. Several trainer sublcasses are made, each implementing one of the following training methods:

- Single layer network training

- Gradient Descent backpropagation (GDBP)

- GDBP with momentum

- GDBP with adapting learn rate

- GDBP with momentum and adapting learn rate

- Levenberg-Marquardt backpropagation (single output and multiple outputs version)

Layers are initialized using Nguyen-Widrow layer initialization.

Networks can be saved and loaded using custom binary files (.lvnet) for later use in custom user VIs.

NN GUI.vi enables user to specify custom data training data from txt files, train network,track training process, plot training response and save/load networks to file.

At this time I am working on following extensions of code:

* radial basis layers/networks*

* time delay networks (dynamical networks)

* input data divide methods (for dividing training data into test and validation sets)

Please free to use code, leave feedback and contact me for any details you need.

NNGUIScreenshot1.PNG

NNGUIScreenshot2.PNG

Vuk Obradović
Technical lead / Senior R&D Engineer at Noffz Forsteh technologies d.o.o.

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Comments
Jok_Garces
Member
Member
on

BUENOS DIAS ESTOY TRABAJANDO CON MI TESIS Y MI TEMA ES LA CREACION DE UNA RED NEURONAL PARA EL CONTROL DE NIVEL DE AGUA DE UNA PLANTA, BAJE EL TOOLKIT DE MACHINE LEARNING PERO NO SE SI ESTE SEA EL ADECUADO PARA TRABAJAR CON NN, ME GUSTARIA SABER SI PUEDO EMPLEARLO Y COMO HACERLO PARA LA CREACION DE MI RED, O SI ME PODRIA AYUDAR CON OTRO OPCION PARA CREAR LA RED NEURONAL PARA REALIZAR EL CONTROL DE NIVEL DE LA PLANTA ANTES MENCIONADA

MI CORREO ES josegarces4512@gmail.com

Escuela Politecnica del Ejercito ESPE

Latacunga- Ecuador

VukObradovic
Member
Member
on

Hello, I don't speak Spanish

I can maybe help you. I am control engineer. I can help you via freelancer employment. This is my profile. :

https://www.freelancer.com/u/Vukonja.html

Vuk Obradović
Technical lead / Senior R&D Engineer at Noffz Forsteh technologies d.o.o.
PrimaryKey
NI Employee (retired)
on

Did you try to use this maybe? https://decibel.ni.com/content/docs/DOC-41891

Piotr Kruczkowski
Certified TestStand Architect
Certified LabVIEW Architect
VukObradovic
Member
Member
on

No, but it looks simple and i will definetly give it a try in future projects.

Does it have Levenberg-Marquardt backprop learning method? I found it far more superior than standard backpropagation learning methods although it gave me lots of thinking and hard work to implement properly.

I made this project just to pratice and get familiar with object oriented G# toolkit and OO programing general in LV.

Vuk Obradović
Technical lead / Senior R&D Engineer at Noffz Forsteh technologies d.o.o.
PrimaryKey
NI Employee (retired)
on

It uses R-Prop, LVM is a great algorithm but uses a lot of resources during teaching (memory) and I really wanted to make is as efficient as possible. This is why RProp.

Piotr Kruczkowski
Certified TestStand Architect
Certified LabVIEW Architect
Leo_Lemes
NI Employee (retired)
on

Hello, I downloaded your project, but when I open the NN GUI.vi the arrow is broken. Trying look for the problem, there is a lot of erros. I'm using LV 2014 and G# Framework 1.6.0.30. Is this library compatible with LV 2014?

VukObradovic
Member
Member
on

Haven't worked on it for some time. I will try to fix it and reupload 2014 version, thank you for your report on issue

Vuk Obradović
Technical lead / Senior R&D Engineer at Noffz Forsteh technologies d.o.o.
Leo_Lemes
NI Employee (retired)
on

Hello VukObradovic, just you know I tried open the project using LV 2012 with G# framework installed and a got the same problem. Some files is missing and the NN GUI.vi and FFTrainingDemo.vi are with arrow broken. Can you reupload the project, please?

Contributors