Skip to content

A collection of some awesome public machine learning framework, tutorial, blogs, library and applications for .NET.

Notifications You must be signed in to change notification settings

coderonion/awesome-dotnet-machine-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 

Repository files navigation

Awesome-Dotnet-Machine-Learning

Awesome

🔥🔥🔥 This repository lists some awesome public machine learning framework, tutorial, blogs, library and applications for .NET.

Contents

  • Awesome-Dotnet-Machine-Learning

  • Framework

    • SynapseML : SynapseML (previously known as MMLSpark), is an open-source library that simplifies the creation of massively scalable machine learning (ML) pipelines. SynapseML provides simple, composable, and distributed APIs for a wide variety of different machine learning tasks such as text analytics, vision, anomaly detection, and many others.

    • ML.NET : ML.NET is an open source and cross-platform machine learning framework for .NET.

    • TorchSharp : A .NET library that provides access to the library that powers PyTorch.

    • TensorFlow.NET : .NET Standard bindings for Google's TensorFlow for developing, training and deploying Machine Learning models in C# and F#.

    • DlibDotNet : Dlib .NET wrapper written in C++ and C# for Windows, MacOS, Linux and iOS.

    • DiffSharp : DiffSharp: Differentiable Functional Programming.

    • KelpNet : KelpNet : Pure C# machine learning framework.

    • Bright Wire : Bright Wire is an open source machine learning library for .NET with GPU support (via CUDA).

    • SharpNet : Open-source Deep Learning library in C# with CUDA and BLAS support.

    • MyCaffe : A complete deep learning platform written almost entirely in C# for Windows developers! Now you can write your own layers in C#!

    • Torch.NET : .NET bindings for PyTorch. Machine Learning with C# / F# with Multi-GPU/CPU support.

    • Keras.NET : Keras.NET is a high-level neural networks API for C# and F#, with Python Binding and capable of running on top of TensorFlow, CNTK, or Theano.

    • MxNet.Sharp : .NET Standard bindings for Apache MxNet with Imperative, Symbolic and Gluon Interface for developing, training and deploying Machine Learning models in C#.

    • ConvNetSharp : Started initially as C# port of ConvNetJS. You can use ConvNetSharp to train and evaluate convolutional neural networks (CNN).

    • xin-pu/Machine-Learning : Deep learning Tool by C#.

    • LibSvmDotNet : .NET wrapper for LIBSVM written in C#.

    • System.AI : Machine Learning and Data Analysis stack for .NET ecosystem.

    • DeOldify.NET : C# implementation of Jason Antic's DeOldify.

    • NeuralNetwork.NET : NeuralNetwork.NET is a .NET Standard 2.0 library that implements sequential and computation graph neural networks with customizable layers, built from scratch with C#.

    • AForge.NET : AForge.NET Framework is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics, etc. http://www.aforgenet.com/framework/

    • Accord.NET : Machine learning, computer vision, statistics and general scientific computing for .NET. http://accord-framework.net/

    • MLOps.NET : A machine learning model operations and management tool for ML.NET

  • Tutorial

  • Library

    • FFI Bindings

      • PInvoke.net : PInvoke.net is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and other unmanaged APIs from managed code (written in languages such as C# or VB.NET).

      • PInvoke : A library containing all P/Invoke code so you don't have to import it every time. Maintained and updated to support the latest Windows OS.

      • CppSharp : CppSharp is a tool and set of libraries which facilitates the usage of native C/C++ code with the .NET ecosystem.

      • ClangSharp : Clang bindings for .NET written in C#.

      • Python.NET : Python.NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.

      • C2CS : Generate C# bindings from a C header.

      • Diplomat : Experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code.

    • GPU Integration

      • Silk.NET : The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, and DirectX bindings library your mother warned you about.

      • Vortice.Vulkan : Cross platform .NET bindings for Vulkan, VMA, SPIRV-Cross and shaderc.

      • OpenTK : The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.

      • ComputeSharp : A .NET library to run C# code in parallel on the GPU through DX12, D2D1 and dynamically generated HLSL compute shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀

      • ILGPU : ILGPU is a JIT (just-in-time) compiler for high-performance GPU programs written in .Net-based languages.

      • Barracuda : Unity Barracuda is a lightweight cross-platform Neural Networks inference library for Unity. Barracuda can run Neural Networks both on GPU and CPU.

      • ManagedCUDA : ManagedCUDA aims an easy integration of NVidia's CUDA in .net applications written in C#, Visual Basic or any other .net language.

      • Amplifier.NET : Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.

      • vk : Low-level Vulkan bindings for .NET.

      • VulkanCore : Vulkan 1.0 graphics and compute API bindings for .NET Standard.

    • Image and Video Processing

      • ImageSharp : ImageSharp is a new, fully featured, fully managed, cross-platform, 2D graphics API.

      • OpenCvSharp : OpenCV wrapper for .NET.

      • SharpCV : A Computer Vision library for C# and F# that combines OpenCV and NDArray together in .NET Standard.

      • FFmpeg.AutoGen : FFmpeg auto generated unsafe bindings for C#/.NET and Core (Linux, MacOS and Mono).

      • Sdcb.FFmpeg : FFmpeg basic .NET API generated by CppSharp.

    • Scientific Computation

      • Math.NET : Math.NET is an opensource initiative to build and maintain toolkits covering fundamental mathematics, targetting advanced but also every day needs of .Net developers.

      • Math.NET Numerics : Math.NET Numerics is the numerical foundation of the Math.NET initiative, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Covered topics include special functions, linear algebra, probability models, random numbers, statistics, interpolation, integration, regression, curve fitting, integral transforms (FFT) and more.

      • Math.NET Spatial : Math.NET Spatial is an opensource geometry library for .Net, Silverlight and Mono.

      • Math.NET Filtering : Math.NET Filtering is a digital signal processing toolkit, offering an infrastructure for digital filter design, applying those filters to data streams using data converters, as well as digital signal generators.

      • Numpy.NET : C#/F# bindings for NumPy - a fundamental library for scientific computing, machine learning and AI.

      • NumSharp : High Performance Computation for N-D Tensors in .NET, similar API to NumPy.

      • AngouriMath : New open-source cross-platform symbolic algebra library for C# and F#. Can be used for both production and research purposes.

    • Data Analysis

      • Deedle : Deedle is an easy to use library for data and time series manipulation and for scientific programming.

      • Pandas.NET : Pandas port for C# and F#, data analysis tool, process multi-dim array in DataFrame.

    • Data Visualization

      • LiveCharts2 : Simple, flexible, interactive & powerful charts, maps and gauges for .Net, LiveCharts2 can now practically run everywhere Maui, Uno Platform, Blazor-wasm, WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.

      • OxyPlot : OxyPlot is a cross-platform plotting library for .NET.

      • ScottPlot : ScottPlot is a free and open-source plotting library for .NET that makes it easy to interactively display large datasets.

      • Plotly.NET : Plotly.NET provides functions for generating and rendering plotly.js charts in .NET programming languages 📈🚀.

      • swharden/Csharp-Data-Visualization : Resources for visualizing data using C# and the .NET platform.

  • Applications