Skip to content

Google's TensorFlow binding for .NET Standard, building and running the Machine Learning models in CSharp.

License

Notifications You must be signed in to change notification settings

42MachineLearning/TensorFlow.NET

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TensorFlow.NET

TensorFlow.NET provides .NET Standard binding for TensorFlow. It's the full complete binding in CSharp language for TensorFlow API. It allows .NET developers to develop, train and deploy Machine Learning models in .NET standard which is running on cross-platform.

Join the chat at https://gitter.im/publiclab/publiclab Tensorflow.NET codecov NuGet Documentation Status

TensorFlow.NET is a member project of SciSharp STACK.

tensors_flowing

Why should we use TensorFlow.NET ?

SciSharp STASK's mission is to create a zero learning curve on the .NET based technology stack Machine Learning tool library. Let's take a look at a comparison picture and you can see why TensorFlow.NET is the tool that is the most comfortable for you.

pythn vs csharp

SciSharp's philosophy allows a large number of machine learning code written in python to be quickly migrated to .NET, allowing a large number of .NET Developers to use more updated models.

How to use

Install TensorFlow.NET through NuGet.

PM> Install-Package TensorFlow.NET

If you are using Linux or Mac OS, please download the pre-compiled dll here and place it in the working folder. This is only need for Linux and Mac OS, and already packed into NuGet for Windows.

Import tensorflow.net.

using Tensorflow;

Add two constants.

// Create a Constant op
var a = tf.constant(4.0f);
var b = tf.constant(5.0f);
var c = tf.add(a, b);

using (var sess = tf.Session())
{
    var o = sess.run(c);
}

Feed placeholder.

// Create a placeholder op
var a = tf.placeholder(tf.float32);
var b = tf.placeholder(tf.float32);
var c = tf.add(a, b);

using(var sess = tf.Session())
{
    var feed_dict = new Dictionary<Tensor, object>();
    feed_dict.Add(a, 3.0f);
    feed_dict.Add(b, 2.0f);

    var o = sess.run(c, feed_dict);
}

Read the docs & book The Definitive Guide to Tensorflow.NET.

More examples:

Star me or raise issue on Github feel free.

Scan QR code to join Tencent TIM group:

SciSharp STACK

About

Google's TensorFlow binding for .NET Standard, building and running the Machine Learning models in CSharp.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.0%
  • Other 1.0%