ANNdotNET – is an open source project for deep learning written in C# and supports .NET and .NET Core platform. The main purpose of the project is creating and training deep learning models. One of the main project component is ANNdotNET ML Engine which is based on Microsoft Cognitive Toolkit, CNTK. The project supposed to be GUI tool for CNTK library with extensions in data preprocessing, model evaluation, exporting and deploying.
The project is hosted at http://github.com/bhrnjica/anndotnet, and the project documentation can be found at the project wiki pages at https://github.com/bhrnjica/anndotnet/wiki.
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:
- more focus on network development and training process using classic desktop approach, instead of focusing on coding,
- less time spending on debugging source code, more focusing on different configuration and parameter variants,
- ideal for engineers/users who are not familiar with programming languages,
- in case the problem requires coding 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.
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 annprojects are based on famous datasets from several categories: regression, binary and multi class classification problems, image classifications, times series, etc. In pre-calculated projects the user can find how to use various neural network configurations e.g. feed forward, deep neural network, LSTM recurrent nets, embedding and drop out layers. Also, each project can be modified in terms of change its network configuration, learning and training parameters, as well as create new ml configurations.
In order to handle with machine learning configuration file (mlconfig), ANNdotNET provides visual network designer (VN Designer) capable of creating neural networks of any configurations and any combination of layers. The VN Designer is based on layer concept, where user can easily add, delete or modify nn layers as simply as manipulating with the list view items.
ANNdotNET is x64 Windows desktop application running on .NET Framework 4.7.2. and .NET Core 2.0. In order to run the application, the following software components need to be installed:
- Windows 10 with x64 architecture
- .NET Framework 4.7.2 +, and .NET Core 2.+
- Visual C++ 2017 version 15.4 v14.11 toolset
- Visual C++ Redistributable Packages for Visual Studio 2013
- CUDA 10 for GPU support
- cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0
Note: The application is tested on clean Windows Pro 10 1709 build. Probably the application will run on Windows 8 and Windows 7 as well, once the user installs the prerequisites.
In order to run the application there are two possibilities:
- Clone the GitHub repository http://github.com/bhrnjica/anndotnet
- Open
anndotnet.gui.net.sln
in Visual Studio 2017, - Setup
anndotnet.wnd
as startup project. - Change build architecture of the solution into x64,
- Right click on solution item and restore Nuget Packages,
- Press F5 for build and run the application.
- Got to http://github.com/bhrnjica/anndotnet/releases and find the ANNdotNET latest release,
- Download the zip installer, and extract the content on your disk,
- Open extracted folder, select
anndotnet.wnd.exe
and run the application. - Once the application is run, select one of many pre-calculated projects placed on Start Page.
The following image shows Bike SHaring project opened in ANNdotNET GUI Tool. More precisely the image shows Data preparation modul.
Since version 1.2, ANNdotNET support creating Image Classification, so the following image shows Cat and Dog image classification project created by using ANNdotNET v1.2+.
In order to use ANNdotNET Export to Excel feature, the ANNdotNET.Excel.AddIn
must be installed. In order to install Excel AddIn the following action must be performed:
- Install Microsoft Excel 64 bit version. The ANNdotNET Excel AddIn is not compatible with Microsoft Excel 32bit version.
- Open Excel and select:
File -> Options
- From the Option Dialog select:
Add-ins->ExcelAdd-ins -> press Go Button
,
- From file open dialog, select:
anndotnet.exceladdIn-AddIn64.xll
file which is located at the ANNdotNET binaries folder.
- In order to register AddInAdd, ANNdotNET binaries folder must be registered in system environment path.
In case the PATH is not added the Excel addin must be installed every time you open Excel and use the Addin.
The following short videos quickly show how to create, train and evaluate regression, binary and multi class classification models.
- Regression model
- Binary classification model
- Multiclass classification model
- Export options in ANNdotNET
More info at https://hrnjica.net/anndotnet/