LostTech.TensorFlow 2.5.0-preview1

This is a prerelease version of LostTech.TensorFlow.
Install-Package LostTech.TensorFlow -Version 2.5.0-preview1
dotnet add package LostTech.TensorFlow --version 2.5.0-preview1
<PackageReference Include="LostTech.TensorFlow" Version="2.5.0-preview1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LostTech.TensorFlow --version 2.5.0-preview1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LostTech.TensorFlow, 2.5.0-preview1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install LostTech.TensorFlow as a Cake Addin
#addin nuget:?package=LostTech.TensorFlow&version=2.5.0-preview1&prerelease

// Install LostTech.TensorFlow as a Cake Tool
#tool nuget:?package=LostTech.TensorFlow&version=2.5.0-preview1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

FULL TensorFlow 2.5+ for .NET with Keras. Build, train, checkpoint, execute models.

Samples: https://github.com/losttech/Gradient-Samples, https://github.com/losttech/YOLOv4, https://github.com/losttech/Siren
Deep learning with .NET blog: https://ml.blogs.losttech.software/

Comparison with TensorFlowSharp: https://github.com/losttech/Gradient/#why-not-tensorflowsharp
Comparison with TensorFlow.NET: https://github.com/losttech/Gradient/#why-not-tensorflow-net

Allows building arbitrary machine learning models, training them, and loading and executing pre-trained models using the most popular machine learning framework out there: TensorFlow. All from your favorite comfy .NET language. Supports both CPU and GPU training (the later requires CUDA or a special build of TensorFlow).

Provides access to full tf.keras, estimators and many more APIs.

Free for non-commercial use. For licensing options see https://losttech.software/buy_gradient.html


This version requires Python 3.x x64 to be installed with tensorflow 2.5.x. See the official installation instructions in https://www.tensorflow.org/install/ (ensure you are installing version 2.5 to avoid hard-to-debug issues).

Please, report any issues to https://github.com/losttech/Gradient/issues
For community support use https://stackoverflow.com/ with tags (must be all 3 together) tensorflow, gradient, and .net.
For support email contact@losttech.software .

More information in NuGet package release notes and on the project web page: https://github.com/losttech/Gradient .

TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on LostTech.TensorFlow:

Package Downloads

Enables LostTech.TensorFlow licensing via Azure Subscription


SIREN neural network (https://vsitzmann.github.io/siren/). Network with sine activations, perfect for neural representations of various signals: images, video, audio. SOTA 2020. See project page for usage example.


Real-Time Object Detection network. TensorFlow-based implementation with support for fine-tuning and training from scratch.


GPT-2 neural network (https://openai.com/blog/better-language-models/). GPT-2 translates text, answers questions, summarizes passages, and generates text output on a level is sometimes indistinguishable from that of humans. A .NET port of open-source artificial intelligence created by OpenAI.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.5.0-preview1 180 5/17/2021
2.4.1-preview1 87 5/4/2021
1.15.0 650 12/29/2020
1.15.0-RC1 546 8/26/2020

This version requires Python 3.x x64 to be installed with tensorflow or tensorflow-cpu. See the official installation instructions in https://www.tensorflow.org/install/ (ensure you are installing version 2.5.x to avoid hard-to-debug issues).

If your app, that uses LostTech.TensorFlow, targets net4xx (like net472), you need to specify a proper runtime identifier to run and publish. e.g. "dotnet publish -r win" and "dotnet run -r win7-x64". Note, "run" requires specific identifier.

What's new

TensorFlow 2:
- please see https://www.tensorflow.org/guide/effective_tf2#a_brief_summary_of_major_changes

1.15.0 (Release):
- enhanced Tensor<T>
- added licensing via Azure Subscription (must be admin of subscription): https://portal.azure.com/#create/losttechllc.tensorflow
- fixed off-by-one errors in passing `Index` and `Range` counting from the end
- support more NumPy functions
- added `PythonSlice`
- added .NET types for `ArithmeticError`, `FloatingPointError`, `OverflowError`, and `ZeroDivisionError`
- fixed a few GIL-related crashes

- replaced expiration with licenses
- improved typing on many APIs
- fixed inability to access static settings
- strongly-typed wrappers for Tensor
- enhanced ndarray<T>
- improved exception handling and debugging
- core runtime components include source and debug symbols
- LINQ enumerables and 1D .NET arrays are now automatically converted to Python lists for compatibility with bad TensorFlow APIs (can be disabled)

Preview 7:
- TensorFlow 1.15
- strongly-typed accessors for ndarray<T>
- arithmetic, bitwise and comparison operators on Tensors (note, now to check for null `is null` must be used instead of `== null`)
- StartUsing extension on classes like Session, variable_scope, etc to allow simpler `using` blocks in .NET
- improved support for enums
- prepackaged TensorFlow runtime in a NuGet package for easy installation (separate): LostTech.TensorFlow.Python
- minimal wrapper for NumPy is released in a separate package (see dependencies)
- runtime initialization moved to Gradient.Runtime
- bugfixes: https://github.com/losttech/Gradient/milestone/3 + internally reported bugs
- new sample: reinforcement learning with Unity ML agents (see https://github.com/losttech/Gradient-Samples/ after 2020/02/10)

Preview 6:
- feature: enabled inheriting from TensorFlow classes. Now it is possible to build custom Keras layers, callbacks, etc
- feature: automatic marshalling of Gradient types for use with TensorFlow
- fixed an ability to modify collections belonging to TensorFlow objects
- fixed crash when enumerating TensorFlow collections without an explicit lock

Preview 5.1:
- improved passing dictionaries
- setup: optionally specify Conda environment via an environment variable
- setup: fixed Conda environment autodectection on Linux
- improved argument types in many places
- Gradient warnings are now printed to Console.Error by default, instead of Console.Out
- fixed crashes on dynamic interop and multithreaded enumeration
- fixed some properties not being exposed https://github.com/losttech/Gradient/issues/4

Preview 5:
- support for indexing Tensor objects via `dynamic`
- allow using specific Python environment via GradientSetup.UsePythonEnvironment

Preview 4:
- support for Ubuntu 18.04 x64 and MacOS with .NET Core; other *nix OS might work too

Preview 2:
- dynamically typed overloads, that enable fallback for tricky signatures
- a common interface for tf.Variable and tf.Tensor
- enabled enumeration over TensorFlow collection types