SciSharp / Torch.NET

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

List of Incomplete/Missing features

Nucs opened this issue · comments

  • torch.nn.Module is very incomplete
    • torch.nn.Module.forward should return Tensor and accept single Tensor instead of an array.
    • all methods should be overridable via virtual
  • Tensor.require_grad missing a setter.]
  • Tensor.GetData should use Buffer.MemoryCopy(); with fixing the return array instead of Marshal.Copy which is slower.
  • Tensor should implement IComparable<Tensor> and IComparable
  • BoolTensor.all and .any.
  • Tensor accessing with ... or :
  • Consistent math operators between similar generic Tensor, e.g. Tensor<double> * Tensor<double> shall return Tensor<double>
  • Comparing tensor operators should return Tensor
  • Comparing operators against scalar values
         public static Tensor<bool> operator >=(long left, IndicatorBase right) {
             if (ReferenceEquals(right, null)) return Constants.False;
             return (Tensor<bool>) (left >= right.Current);
         }
  • torch.tensor(void*, ...) and torch.tensor(IntPtr, ...) overload
  • Tensor[PyObject[]] for faster invoke