LostTech.TensorFlow 1.15.0

FULL TensorFlow 1.15 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 and tf.contrib APIs, estimators and many more.

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

!!NOTE!!

This version requires Python 3.x x64 to be installed with tensorflow 1.15.x. See the official installation instructions in https://www.tensorflow.org/install/pip#older-versions-of-tensorflow (ensure you are installing version 1.15 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.

Install-Package LostTech.TensorFlow -Version 1.15.0
dotnet add package LostTech.TensorFlow --version 1.15.0
<PackageReference Include="LostTech.TensorFlow" Version="1.15.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LostTech.TensorFlow --version 1.15.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LostTech.TensorFlow, 1.15.0"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

Release Notes

This version requires Python 3.x x64 to be installed with tensorflow or tensorflow-gpu. See the official installation instructions in https://www.tensorflow.org/install/pip#older-versions-of-tensorflow (ensure you are installing version 1.15 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

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

RC1:
- 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

NuGet packages (3)

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

Package Downloads
LostTech.Gradient.License.Azure
Enables LostTech.TensorFlow licensing via Azure Subscription
LostTech.TensorFlow.Siren
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.
LostTech.TensorFlow.YOLOv4
Real-Time Object Detection network. TensorFlow-based implementation with support for fine-tuning and training from scratch.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.15.0 168 12/29/2020
1.15.0-RC1 337 8/26/2020