System.Numerics.Tensors
9.0.4
Prefix Reserved
See the version list below for details.
dotnet add package System.Numerics.Tensors --version 9.0.4
NuGet\Install-Package System.Numerics.Tensors -Version 9.0.4
<PackageReference Include="System.Numerics.Tensors" Version="9.0.4" />
<PackageVersion Include="System.Numerics.Tensors" Version="9.0.4" />
<PackageReference Include="System.Numerics.Tensors" />
paket add System.Numerics.Tensors --version 9.0.4
#r "nuget: System.Numerics.Tensors, 9.0.4"
#addin nuget:?package=System.Numerics.Tensors&version=9.0.4
#tool nuget:?package=System.Numerics.Tensors&version=9.0.4
About
Provides methods for performing mathematical operations over tensors represented as spans. These methods are accelerated to use SIMD (Single instruction, multiple data) operations supported by the CPU where available.
Key Features
- Numerical operations on tensors represented as
ReadOnlySpan<float>
- Element-wise arithmetic: Add, Subtract, Multiply, Divide, Exp, Log, Cosh, Tanh, etc.
- Tensor arithmetic: CosineSimilarity, Distance, Dot, Normalize, Softmax, Sigmoid, etc.
How to Use
using System.Numerics.Tensors;
var movies = new[] {
new { Title="The Lion King", Embedding= new [] { 0.10022575f, -0.23998135f } },
new { Title="Inception", Embedding= new [] { 0.10327095f, 0.2563685f } },
new { Title="Toy Story", Embedding= new [] { 0.095857024f, -0.201278f } },
new { Title="Pulp Function", Embedding= new [] { 0.106827796f, 0.21676421f } },
new { Title="Shrek", Embedding= new [] { 0.09568083f, -0.21177962f } }
};
var queryEmbedding = new[] { 0.12217915f, -0.034832448f };
var top3MoviesTensorPrimitives =
movies
.Select(movie =>
(
movie.Title,
Similarity: TensorPrimitives.CosineSimilarity(queryEmbedding, movie.Embedding)
))
.OrderByDescending(movies => movies.Similarity)
.Take(3);
foreach (var movie in top3MoviesTensorPrimitives)
{
Console.WriteLine(movie);
}
Main Types
The main types provided by this library are:
System.Numerics.Tensors.TensorPrimitives
Additional Documentation
Feedback & Contributing
System.Numerics.Tensors is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
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 is compatible. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.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 is compatible. 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. |
-
.NETFramework 4.6.2
- Microsoft.Bcl.Numerics (>= 9.0.4)
- System.Memory (>= 4.5.5)
-
.NETStandard 2.0
- Microsoft.Bcl.Numerics (>= 9.0.4)
- System.Memory (>= 4.5.5)
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (40)
Showing the top 5 NuGet packages that depend on System.Numerics.Tensors:
Package | Downloads |
---|---|
Microsoft.ML.CpuMath
Microsoft.ML.CpuMath contains optimized math routines for ML.NET. |
|
Microsoft.Data.Analysis
This package contains easy-to-use and high-performance libraries for data analysis and transformation. |
|
Microsoft.ML.OnnxRuntime.Managed
This package contains ONNX Runtime for .Net platforms |
|
Microsoft.SemanticKernel.Core
Semantic Kernel core orchestration, runtime and functions. This package is automatically installed by 'Microsoft.SemanticKernel' package with other useful packages. Install this package manually only if you are selecting individual Semantic Kernel components. |
|
ppy.osu.Framework
A 2D application/game framework written with rhythm games in mind. |
GitHub repositories (22)
Showing the top 20 popular GitHub repositories that depend on System.Numerics.Tensors:
Repository | Stars |
---|---|
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
|
|
dotnet/machinelearning
ML.NET is an open source and cross-platform machine learning framework for .NET.
|
|
ravendb/ravendb
ACID Document Database
|
|
SciSharp/LLamaSharp
A C#/.NET library to run LLM (🦙LLaMA/LLaVA) on your local device efficiently.
|
|
dotnet/extensions
This repository contains a suite of libraries that provide facilities commonly needed when creating production-ready applications.
|
|
microsoft/kernel-memory
RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns.
|
|
ppy/osu-framework
A game framework written with osu! in mind.
|
|
dotnet/TorchSharp
A .NET library that provides access to the library that powers PyTorch.
|
|
microsoft/ai-dev-gallery
An open-source project for Windows developers to learn how to add AI with local models and APIs to Windows apps.
|
|
tonybaloney/CSnakes
Embed Python in .NET
|
|
dotnet/smartcomponents
Sample intelligent app features provided as reusable .NET components
|
|
DevExpress/Blazor
DevExpress UI for Blazor
|
|
allisterb/jemalloc.NET
A native memory manager for .NET
|
|
microsoft/onnxruntime-training-examples
Examples for using ONNX Runtime for model training.
|
|
microsoft/CryptoNets
CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with Homomorphic Encryption. Homomorphic Encryptions allow performing operations such as addition and multiplication over data while it is encrypted. Therefore, it allows keeping data private while outsourcing computation (see here and here for more about Homomorphic E
|
|
JasonBock/Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks)
|
|
TensorStack-AI/OnnxStack
C# Stable Diffusion using ONNX Runtime
|
|
microsoft/typechat.net
|
|
Amine-Smahi/C-Sharp-Learning-Journey
Some of the projects i made when starting to learn c#, winfroms and wpf
|
|
dje-dev/Ceres
Ceres - an MCTS chess engine for research and recreation
|