SiaNet 0.3.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package SiaNet --version 0.3.0                
NuGet\Install-Package SiaNet -Version 0.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SiaNet" Version="0.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SiaNet --version 0.3.0                
#r "nuget: SiaNet, 0.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SiaNet as a Cake Addin
#addin nuget:?package=SiaNet&version=0.3.0

// Install SiaNet as a Cake Tool
#tool nuget:?package=SiaNet&version=0.3.0                

Build Status Join the chat at https://gitter.im/sia-cog/SiaNet

A C# deep learning wrapper with CNTK backend

Developing a C# wrapper to help developer easily create and train deep neural network models. I am working on enhancing the interface to load data, build model, train and predict.

Install using NuGet

GPU and CPU Version: https://www.nuget.org/packages/SiaNet

For better performance on CPU please use CPU only version. CPU Only Version: https://www.nuget.org/packages/SiaNet.CPUOnly/

Load dataset (Housing regression example)

DataFrame frame = new DataFrame();

frame.LoadFromCsv(trainFile);

var xy = frame.SplitXY(14, new[] { 1, 13 });

traintest = xy.SplitTrainTest(0.25);

Load Sample Dataset (MNIST)

Downloader.DownloadSample(SampleDataset.MNIST);

var samplePath = Downloader.GetSamplePath(SampleDataset.MNIST);

train = ImageDataGenerator.FlowFromText(samplePath.Train);

validation = ImageDataGenerator.FlowFromText(samplePath.Test);

Build Model

model = new Sequential();

model.Add(new Dense(13, 12, OptActivations.ReLU));

model.Add(new Dense(13, OptActivations.ReLU));

model.Add(new Dense(1));

Build Convolution Layers

model.Add(new Conv2D(Tuple.Create(imageDim[0], imageDim[1], imageDim[2]), 4, Tuple.Create(3, 3), Tuple.Create(2, 2), activation: OptActivations.None, weightInitializer: OptInitializers.Xavier, useBias: true, biasInitializer: OptInitializers.Ones));

model.Add(new MaxPool2D(Tuple.Create(3, 3)));

model.Add(new Conv2D(8, Tuple.Create(3, 3), Tuple.Create(2, 2), activation: OptActivations.None, weightInitializer: OptInitializers.Xavier));

model.Add(new MaxPool2D(Tuple.Create(3, 3)));

model.Add(new Dense(numClasses));

Configure Training callbacks

model.OnEpochEnd += Model_OnEpochEnd;

model.OnTrainingEnd += Model_OnTrainingEnd;

model.OnBatchEnd += Model_OnBatchEnd;

Train Model

model.Compile(OptOptimizers.Adam, OptLosses.MeanSquaredError, OptMetrics.MAE, Regulizers.RegL2(0.1)); model.Train(traintest.Train, 64, 200, traintest.Test);

API Documentation: https://deepakkumar1984.github.io/SiaNet/

Examples Docs (More to add)

Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.4.2.67 1,713 3/25/2019
0.4.1.65 1,101 3/21/2019
0.4.1.64 1,148 3/18/2019
0.4.1.38 1,136 3/13/2019
0.4.1.31 1,151 3/4/2019
0.3.0 1,867 11/29/2017
0.2.2.2 1,689 11/11/2017

- Implemented LSTM layer
- Bug Fixes
- More examples