ANNdotNET – deep learning tool on .NET Platform
Blog posts related to ANNdotNET
- ANNdotNET v1.2 has been released (January, 2019)
- How to visualize CNTK network in C# (November, 2018)
- ANNdotNET v1.1 has been release (November, 2018)
- Sentiment Analysis using ANNdotNET (October, 2018)
- ANNdotNET v1.0 has been released (October, 2018)
- Visual Neural Network Designer in ANNdotNET(September, 2018)
- Introduction to ANNdotNET v1.0 deep learning tool on .NET Platform(September, 2018)
- Tutorial how to train, and evaluate Iris model with ANNdotNET. (April, 2018)
- Announcement of ANNdotNET v1.0 and GPdotNET v5 (March, 2018)
ANNdotNET – is an open source project for deep learning written in C# for developing and training deep learning models. The project is based on Microsoft CNTK (CogNitive ToolKit) Microsoft open source library for deep learning. It is supposed to be higher API for deep learning in .NET, but also provides, data preparation and transformation from
rawDataSet into mlready dataset, monitoring the training process with additional evaluation functions, capability of early stopping during training, model evaluation and validation, exporting and deployment options.
The process of creating, training, evaluating and exporting models is provided from the GUI Application and does not require knowledge for supported programming languages.
The ANNdotNET is ideal in several scenarios when user want:
- more focus on neural network development and training process using on classic desktop approach, instead of focusing on coding,
- less time spending on debugging source code and peripheral tasks like installing and updating packages, debugging errors in the code, and more focusing on different configuration and parameter variants,
- to model and is not familiar with supported programming languages,
In case the problem requires more advanced custom models, or training process, ANNdotNET CMD provides high level of API for such implementation. All ml configurations developed with GUI tool, can be handled with CMD tool and vice versa.
To get quick introduction to the tool, there are dozens of pre-calculated projects included in the installer which can be opened from the Start page as well as from CMD tool. The projects are based on famous datasets freely distributed on repositories from several categories: regression, binary and multi-class classification problems, image classifications, times series, etc.
Software requirements for building and running ANNdotNET solution
In order to run and develop ANNdotNET solution the following system requirements must be met:
- Windows 8 x64 or higher,
- Visual Studio 2017 (Community, Professional or Enterprise),
- .NET Framework 4.7.2 and newer,
- .NET Core 2.0 and newer
- Git source control tool.
How to build and run ANNdotNET solution
In order to compile and build ANNdotNET solution, the following actions must be performed:
- Clone solution by typing: git clone https://github.com/bhrnjica/anndotnet
- Run Visual Studio 2017 and open anndotnet.sln solution file.
- Set anndotnet.wnd– as startup project
- Change system architecture of the solution (all projects) from Any CPU to x64
- Once the previous actions are performed the solution window looks like:
- Restore Nuget packages for the whole solution and press F5.
- Once the F5 is pressed the ANNdotNET should be shown.
How to install ANNdotNET GUI Tool
This option is handy in case you don’t have installed Visual Studio or you want to use the application without source code.
Before installation, three prerequisites software components must be installed:
- .NET Framework 4.7.2 +
- Visual C++ 2017 version 15.4 v14.11 toolset
- Visual C++ Redistributable Packages for Visual Studio 2013
Once the prerequisites are installed, the ANNdotNET GUI Tool can be installed:
- Download binaries from the release section at: https://github.com/bhrnjica/anndotnet/releases,
- Unzip the binaries on your machine and run anndotnet.wnd.exe exe file,
- Once the application is run, select one of many pre-calculated projects placed on Start Page,
- The following image shows Iris Flower Identification project opened in ANNdotNET GUI Tool
The following three short videos quickly show how to create, train and evaluate regression, binary and multi class classification models.
- Training regression model. Data set is Concrete Slump Test is downloaded from the UCI ML Repository and loaded into ANNdotNET without any modification, since the data preparation module can prepare it.
- Training and evaluation binary classifier model. Data represent Titanic data set downloaded from the public repository.
- Training and evaluation multi class classification models. Data represents Iris data set downloaded from the same page as above.
Export options in ANNdotNET.
There are three export options.
- Export model results to CSV file type,
- Export Model and all three data sets to Excel,
- Export neural network model in CNTK file format for further evaluation.
I need to create a neural network to predict market behaviour.
Input layer number of neurons 2-50 (maybe more) are numbers 0-100, and there may be dates I would like to include, I also allow real numbers.
Hidden layers different number and different number of neurons in each layer.
Output layer numbers from 0-100, number of output neurons varying from 2 to 50.
How can I configure your software? How do I use tests to better train the network? Videos on YT very short and not contributing anything in particular.
Input data of more than 10 000 lines. And corresponding outputs to train the network.
There is something missing. How to test forecast and then new data forecast ? Cant find information no where and i’m stuck here.
I have dataset in “binary matrix form” R/C 580×580 with headers on columns. On TEST page i have names of mixed up columns present in no ascending order. Database should not be “mixedup” due false forecast should be in exact order as was the input provided, but there is no data if i want to test it, empty table. Adding rows but not clear how and what ? The whole purpose of NN’s is to do something with it. Also nVidia CNN’s package only allowed to download for developers so for all others no GPU boost available.
With some “little” effort to seek information about some options interface is clean an intuitive enough to understand to use to build model. So my question at the end is: Model developed and tested in order to make database based pattern forecast should be embedded to new program app in order to achieve that ?