FULL TensorFlow 2.4+ 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.4.x. See the official installation instructions in https://www.tensorflow.org/install/ (ensure you are installing version 2.4 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 firstname.lastname@example.org .
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.
Install-Package LostTech.TensorFlow -Version 2.4.1-preview1
dotnet add package LostTech.TensorFlow --version 2.4.1-preview1
<PackageReference Include="LostTech.TensorFlow" Version="2.4.1-preview1" />
paket add LostTech.TensorFlow --version 2.4.1-preview1
#r "nuget: LostTech.TensorFlow, 2.4.1-preview1"
// Install LostTech.TensorFlow as a Cake Addin #addin nuget:?package=LostTech.TensorFlow&version=2.4.1-preview1&prerelease // Install LostTech.TensorFlow as a Cake Tool #tool nuget:?package=LostTech.TensorFlow&version=2.4.1-preview1&prerelease
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.4.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.
- please see https://www.tensorflow.org/guide/effective_tf2#a_brief_summary_of_major_changes
- 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)
- 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)
- 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
- 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
- support for indexing Tensor objects via `dynamic`
- allow using specific Python environment via GradientSetup.UsePythonEnvironment
- support for Ubuntu 18.04 x64 and MacOS with .NET Core; other *nix OS might work too
- dynamically typed overloads, that enable fallback for tricky signatures
- a common interface for tf.Variable and tf.Tensor
- enabled enumeration over TensorFlow collection types
- CoreCompat.Portable.Licensing (>= 1.2.4)
- Gradient.Runtime (>= 0.4.5 && < 0.5.0)
- JetBrains.Annotations (>= 2020.1.0)
- LostTech.Cloud.InstanceInfo (>= 0.1.1)
- LostTech.NumPy (>= 0.2.2)
- LostTech.Python.Runtime (>= 3.0.4 && < 4.0.0)
- Nito.Comparers.Core (>= 6.0.0)
- System.DirectoryServices (>= 4.7.0)
- System.Text.Json (>= 4.7.2)
- WhichPython (>= 0.3.4 && < 0.4.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on LostTech.TensorFlow:
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.
This package is not used by any popular GitHub repositories.