Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A lightweight and high-performance tensor library which provides numpy-like operations but .NET style interfaces. It supports generic tensor, Linq, C# native slices and so on. (Qushui student project))

License

Notifications You must be signed in to change notification settings

SciSharp/Tensor.NET

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Num.NET

TODO

Event Description Priority Status
Complete the smallest framework of c++ part Construct a smallest framework of c++ part which could run naive implemention of Matmul successfully. In this stage, extensibility should be taken into consideration, but details could be ignored. p0 Complete ✅
Complete naive implemention of Matmul The results of naive implemention of matmul are wrong. Besides, more test cases need to be added, including more shapes, more dtypes and more data. p0 Complete ✅
Add Benchmark test for Matmul Add some bechmark tests for Matmul to evaluate its effeciency p1 Waiting 🔵
Add deduce to decide the output shape of ops Checking if the shapes are matched in the body of op is not a good choice. A calculator for it is needed p0 Complete ✅
Add broadcast Add broadcast with stride and wrap it p0 Complete ✅
Add script to auto build and test Write a script on linux to build and run all tests automatically p2 Waiting 🔵
Add reshape Add reshape for NDArray p0 Complete ✅
Add naive op dot Add naive implementation for op dot p0 Waiting 🔵
Add naive op transpose Add naive implementation for op transpose p0 Complete ✅
Add naive op permute Add naive implementation for op permute p0 Complete ✅
Add naive op add Add naive implementation for op add p0 Waiting 🔵
Add naive op sub Add naive implementation for op sub p0 Waiting 🔵
Add naive op mul Add naive implementation for op mul p0 Waiting 🔵
Add naive op div Add naive implementation for op div p0 Waiting 🔵
Add type_deduce Add deduce method for type of layout to decide the dtype of the output Array. p0 Complete ✅
Add Status Add a status struct to tell the caller if the call success and return error message if failed. p0 Complete ✅
Define actions on Debug and Release mode define different actions for one expr on different mode. For instance, nn_assert should not take action on release mode p0 Waiting 🔵
Add Checker for test Add a checker class to judge if the pred and result are matched. p0 On going 🚀
Add Process for overflow Add process to deal with overflow, show user NAN instead of completely wrong data. p0 Waiting 🔵
Automatically squeeze the shape of scalar to one-dim Mainly for result of matmul. p2 Waiting 🔵
Add slice Add support of slice p0 Waiting 🔵
Add CSharp interop Test CSharp interop, with a few basic apis p0 Complete ✅
Add Serialization for .npy file Provide interface to serialize and deserialize with .npy files p0 Waiting 🔵
Support reading of excel Provide interface to read and write with .csv and excel file p1 Waiting 🔵
Support type convert Support type convert of Tensor p0 On going 🚀
Type deduce for double-input ops Add type deduce of double-input ops in c++ part p2 Complete ✅
Add self-manipulated type ops Except for single input and double input ops, there are some ops directly manipulating itself's data, such as IDentity, Ones and so on. p0 Waiting 🔵
Type deduce in C# part Add type deduce of C# part p0 Complete ✅
Design exceptions in C# part Design exceptions in C# part p0 Complete ✅
Add unit tests for C# part Add unit tests for C# part p0 Complete ✅
Add Logger for C# part Add Logger for C# part, in which new feature of C# 10 could be taken into account p0 Waiting 🔵

✅ ❌ 🚀 🔵

About

A lightweight and high-performance tensor library which provides numpy-like operations but .NET style interfaces. It supports generic tensor, Linq, C# native slices and so on. (Qushui student project))

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages