Xojo Neural Network Class 3.0

Table of content
1. What is Xojo Neural Network Class?
2. How to register?
3. How to install it?
4. How to uninstall it?
5. How to use it?
6. Where to find the latest version?
7. How to contact us?

1. What is Xojo Neural Network Class?
ou want to embed deep learning capacities into your Xojo (REAL Studio) Applications, via a simple, efficient and ready-to-use Artificial Convolutional Neural Network?
Then Xojo Neural Network Class is what you need!

Xojo Neural Network Class allows you to implement an Artificial Convolutional Neural Network in your Xojo (REAL Studio) Applications.
- It's a single Class implementing a fully connected multi-layer perceptron with automatic feed-forward and back-propagation algorithm.
- You can set as many input neurones, hidden neurones and output neurones as you want.
- You can perform either supervised or unsupervised trainings.
- You can adjust the speed of the trainings via the usual Eta learning rate and Alpha momentum parameters.
- You can adjust the limit of the trainings via the usual maximum number of generations and maximum sum squared error parameters.
- You can perform mutations with the usual rate and amplitude parameters.
- You can save and load the Networks.
- It doesn't need any installation which makes it very easy to use.
- It is available in English.
Read the whole documentation for more details...

Version 3.0:
- A full recompilation has been made to be compatible with Big Sur.

Version 2.1:
- An Event was added to be notified periodically of the progress of the supervised training.

Version 2.0:
- A major rework and a full recompilation have been made as 64-bit Application to be compatible with Catalina.

Version 1.0:
- The first release.

2. How to register?
As long as you use it unregistered this Application works normally, but it has a time limit and annoying windows (Registration window, Popup windows, ...).
To register it you just have to purchase a registration code on our website.
We accept Australian Dollar, Brazilian Real, Canadian Dollar, Czech Koruna, Danish Krone, Euro, Hong Kong Dollar, Hungarian Forint, Israeli New Sheqel, Japanese Yen, Malaysian Ringgit, Mexican Peso, Polish Zloty, Pound Sterling, Russian Ruble, Singapore Dollar, Swedish Krona, Swiss Franc, Taiwan New Dollar, Thai Baht, Turkish Lira, US Dollar and many other currencies...
To see our prices or to have a look at our many other Applications, just go to our website now.
This will help and encourage us to continue developing useful and friendly software for your pleasure and service.
Remember that when you register for a particular Application, your registration code remains valid for all the following minor releases.
Remember to read the Conditions of Use, Publication and Distribution before installing and using our Applications.

3. How to install it?
No particular installation is required. Once you've downloaded the ".dmg" package from our website, it should uncompress automatically (in your "Downloads" folder or on your Desktop). If it does not, then you can double-click on it to uncompress it.
Then you just have to move the created folder into your "Xojo" folder (or any other location) and import the Class to use it.

4. How to uninstall it?
There should be no reason to do this. ;-)
However, if you really want, then you just have to throw the Class into the trash, and that's all.

5. How to use it?
The "NeuralNetwork" Class in the Xojo development environment:
Once you've imported the Class, you can use it in your Code with its "NeuralNetwork" name.
Here is the content of its Interface which lists the methods available in the Class, which are quite self-explanatory:

Class shared method:

Register(registrationName As String, registrationEmail As String, registrationCode As String)

Instances methods:

1) Constructors:
Constructor(numberOfInputNodes As Integer, numberOfHiddenNodes As Integer, numberOfOutputNodes As Integer)
Constructor(neuralNetworkToCopy As NeuralNetwork)

2) Methods for Supervised Training:
addTrainingPattern(trainingPatternInputNodeList() As Double, trainingPatternOutputNodeList() As Double)
getNumberOfTrainingPatterns() As Integer
getTrainingPatternsInputs() As Double(,)
getTrainingPatternsOutputs() As Double(,)

setTrainingSpeed(learningRateEta As Double, momentumAlpha As Double)
setTrainingLimit(maximumNumberOfGenerations As Integer, maximumSumSquaredErrorOfTrainingPatterns As Double)

setTrainingProgressEventPeriod(numberOfGenerations As Integer) 'Reset numberOfGenerations to 0 to deactivate events triggering

trainUntilLimitReached()

getTrainingGenerationReached() As Integer
getTrainingSumSquaredErrorReached() As Double

2) Event for Supervised Training:
TrainingProgress()

3) Methods for Unsupervised Training:
mutate(mutationRate As Double, mutationAmplitude As Double)

4) Methods for using the Neural Network:
setInputs(inputNodeList() As Double)
calculateOutputs()
getOutputs() As Double()

5) Methods for saving and loading the Neural Network:
save() As String
load(text As String) As Boolean

Many websites can teach you how to use such a fully connected multi-layer perceptron, with its parameters.
And remember that the Class is provided with some examples of how to use it.

6. Where to find the latest version?
To find the latest version of this Class and many other software "AlphaOmega Software" has written, you just have to visit our website.

7. How to contact us?
You can go to our website to send us an email.


AlphaOmega Software
www.alphaomega-software.com