Keras.NET
0.5.0
See the version list below for details.
dotnet add package Keras.NET --version 0.5.0
NuGet\Install-Package Keras.NET -Version 0.5.0
<PackageReference Include="Keras.NET" Version="0.5.0" />
paket add Keras.NET --version 0.5.0
#r "nuget: Keras.NET, 0.5.0"
// Install Keras.NET as a Cake Addin #addin nuget:?package=Keras.NET&version=0.5.0 // Install Keras.NET as a Cake Tool #tool nuget:?package=Keras.NET&version=0.5.0
Keras.NET
Keras.NET is a high-level neural networks API, written in C# with Python Binding and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.
Use Keras if you need a deep learning library that:
Allows for easy and fast prototyping (through user friendliness, modularity, and extensibility). Supports both convolutional networks and recurrent networks, as well as combinations of the two. Runs seamlessly on CPU and GPU.
Keras.NET is using:
Prerequisite
- Python 3.7
- Install keras and numpy
Example with XOR sample
//Load train data
NDarray x = np.array(new float[,] { { 0, 0 }, { 0, 1 }, { 1, 0 }, { 1, 1 } });
NDarray y = np.array(new float[] { 0, 1, 1, 0 });
//Build sequential model
var model = new Sequential();
model.Add(new Dense(32, activation: "relu", input_shape: new Shape(2)));
model.Add(new Dense(64, activation: "relu"));
model.Add(new Dense(1, activation: "sigmoid"));
//Compile and train
model.Compile(optimizer:"sgd", loss:"binary_crossentropy", metrics: new string[] { "accuracy" });
model.Fit(x, y, batch_size: 2, epochs: 1000, verbose: 1);
//Save model and weights
string json = model.ToJson();
File.WriteAllText("model.json", json);
model.SaveWeight("model.h5");
//Load model and weight
var loaded_model = Sequential.ModelFromJson(File.ReadAllText("model.json"));
loaded_model.LoadWeight("model.h5");
Output:
Another example with Prima Indians Diabetic Dataset
Python example taken from: https://machinelearningmastery.com/save-load-keras-deep-learning-models/
//Load train data
NDarray dataset = np.loadtxt(fname: "pima-indians-diabetes.data.csv", delimiter: ",");
var X = dataset[":,0: 8"];
var Y = dataset[":, 8"];
//Build sequential model
var model = new Sequential();
model.Add(new Dense(12, input_dim: 8, kernel_initializer: "uniform", activation: "relu"));
model.Add(new Dense(8, kernel_initializer: "uniform", activation: "relu"));
model.Add(new Dense(1, activation: "sigmoid"));
//Compile and train
model.Compile(optimizer:"adam", loss:"binary_crossentropy", metrics: new string[] { "accuracy" });
model.Fit(X, Y, batch_size: 10, epochs: 150, verbose: 1);
//Evaluate model
var scores = model.Evaluate(X, Y, verbose: 1);
Console.WriteLine("Accuracy: {0}", scores[1] * 100);
//Save model and weights
string json = model.ToJson();
File.WriteAllText("model.json", json);
model.SaveWeight("model.h5");
Console.WriteLine("Saved model to disk");
//Load model and weight
var loaded_model = Sequential.ModelFromJson(File.ReadAllText("model.json"));
loaded_model.LoadWeight("model.h5");
Console.WriteLine("Loaded model from disk");
loaded_model.Compile(optimizer: "rmsprop", loss: "binary_crossentropy", metrics: new string[] { "accuracy" });
scores = model.Evaluate(X, Y, verbose: 1);
Console.WriteLine("Accuracy: {0}", scores[1] * 100);
Output
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Numpy.Bare (>= 1.1.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Keras.NET:
Package | Downloads |
---|---|
Laraue.Core.Keras
Utils to launch Keras models in .NET |
|
BasicSamples
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.8.5 | 22,209 | 12/7/2020 |
3.8.4.4 | 2,610 | 9/22/2020 |
3.7.5 | 1,376 | 12/7/2020 |
3.7.4.4 | 1,080 | 9/22/2020 |
3.7.4.2 | 8,685 | 5/1/2020 |
3.7.4.1 | 1,456 | 3/23/2020 |
3.7.3 | 2,428 | 1/10/2020 |
3.6.4.2 | 1,049 | 5/1/2020 |
3.6.4.1 | 632 | 3/23/2020 |
3.6.3 | 881 | 1/10/2020 |
3.6.2.4 | 897 | 12/28/2019 |
3.6.2.3 | 627 | 12/28/2019 |
3.6.2.2 | 665 | 12/28/2019 |
3.6.2.1 | 540 | 12/28/2019 |
3.6.1.12 | 1,453 | 11/8/2019 |
3.6.1.11 | 981 | 10/6/2019 |
3.6.1.10 | 635 | 10/6/2019 |
3.6.1.9 | 661 | 9/27/2019 |
3.6.1.8 | 3,477 | 8/22/2019 |
3.6.1.6 | 709 | 8/14/2019 |
3.6.1.5 | 747 | 7/30/2019 |
3.6.1.4 | 667 | 7/22/2019 |
3.6.1.1 | 653 | 7/22/2019 |
3.5.4.2 | 559 | 5/1/2020 |
3.5.4.1 | 557 | 3/23/2020 |
3.5.3 | 676 | 1/10/2020 |
3.5.2.4 | 592 | 12/28/2019 |
3.5.2.3 | 614 | 12/28/2019 |
3.5.2.2 | 631 | 12/28/2019 |
3.5.2.1 | 512 | 12/28/2019 |
3.5.1.12 | 534 | 11/8/2019 |
3.5.1.11 | 522 | 10/6/2019 |
3.5.1.10 | 538 | 10/6/2019 |
3.5.1.9 | 547 | 9/27/2019 |
3.5.1.8 | 562 | 8/22/2019 |
3.5.1.6 | 541 | 8/14/2019 |
3.5.1.5 | 551 | 7/30/2019 |
3.5.1.4 | 685 | 7/22/2019 |
2.7.5 | 514 | 12/7/2020 |
2.7.4.4 | 464 | 9/22/2020 |
2.7.4.2 | 510 | 5/1/2020 |
2.7.4.1 | 547 | 3/23/2020 |
2.7.3 | 612 | 1/10/2020 |
2.7.2.4 | 597 | 12/28/2019 |
2.7.2.3 | 632 | 12/28/2019 |
2.7.2.2 | 650 | 12/28/2019 |
2.7.2.1 | 626 | 12/28/2019 |
2.7.1.12 | 517 | 11/8/2019 |
2.7.1.11 | 544 | 10/6/2019 |
2.7.1.10 | 511 | 10/6/2019 |
2.7.1.9 | 507 | 9/27/2019 |
2.7.1.8 | 534 | 8/22/2019 |
2.7.1.6 | 533 | 8/14/2019 |
2.7.1.5 | 535 | 7/30/2019 |
2.7.1.4 | 548 | 7/22/2019 |
2.7.1.2 | 573 | 7/22/2019 |
2.7.1.1 | 654 | 7/22/2019 |
0.6.4 | 729 | 7/16/2019 |
0.6.3 | 685 | 6/26/2019 |
0.6.2 | 563 | 6/25/2019 |
0.6.0 | 579 | 6/21/2019 |
0.5.2 | 575 | 6/18/2019 |
0.5.0 | 634 | 6/18/2019 |