[WIP] GenericTensor 2.0 API Design
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
No se mencionan archivos fuente ni pruebas. Empieza revisando las interfaces propuestas de GenericTensor.Core y las firmas de Tensor, especialmente la elección del nombre y la contradicción entre Tensor y Tensor; el trabajo solo estará terminado cuando exista un diseño de API acordado e internamente coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Name of the type
For now we will assume it's Tensor. However it's opionated, because it might be useful to avoid calling it the same name as other libs.
Operations
Namespace: GenericTensor.Core.
Interfaces with method Invoke: () -> A
IAdditiveIdentity<A>
IMultiplicativeIdentity<A>
Interfaces with method Invoke: A -> B
INegate<A, B>
Interfaces with method Invoke: A x B -> C
IAdd<A, B, C>
ISubtract<A, B, C>
IMultiply<A, B, C>
IDivide<A, B, C>
Interfaces with method Invoke: A -> bool
IEqualsAdditiveIdentity<A>
Interfaces with method Invoke: A x B -> bool
IAreEqual<A, B>
Interfaces with method Invoke: A -> string
IToString<A>
Interfaces with method Invoke: A -> byte[]
ISerialize<A>
Interfaces with method Invoke: byte[] -> A
IDeserialize<A>
Tensor
The main type where all these methods will be is Tensor (but not Tensor<T>!).
Composition
static Tensor<T> Concat<T>(params Tensor<T>[] ts, int axis = -1);
byte[] Serialize<T, TSerializer>() where TSerializer : ISerialize<T>;
Tensor<T> Slice<T>(params Either<int, Index, Range>[] dims);
static Tensor<T> Stack<T>(params Tensor<T>[] ts);
Tensor<T> Transpose<T>(Tensor<T> a);
Tensor<T> Transpose<T>(Tensor<T> a, int axis1, int axis2);
void TransposeInplace(Tensor<T> a);
void TransposeInplace(Tensor<T> a, int axis1, int axis2);
Math operations
...
Elementwise:
void AddPointwise<A, B, C, TAdder>(Tensor<A> a, Tensor<B> b, Tensor<C> destination) where TAdder : struct, IAdder<A, B, C>;
Tensor<C> AddPointwise<A, B, C, TAdder>(Tensor<A> a, Tensor<B> b) where TAdder : struct, IAdder<A, B, C>;
- Lenguaje dominante
- C#
- Estrellas
- 52
- Forks
- 6
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ASC-Community/GenericTensor
-
Determinant and Inverse return wrong values when called from more than one threadPosiblemente ocupada @Rafael-SOWNet la tomó hace 32 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Null reference warnings to fixAbiertogood first issue
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
proposal
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ASC-Community/GenericTensor#36 · 1 comentario ·
-
Will this package support MKL or OpenBlas as backend to accelerate matrix inverse computing speedAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
ASC-Community/GenericTensor#30 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
ASC-Community/GenericTensor#29 · 1 comentario ·
Todos los issues de ASC-Community/GenericTensor
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
rjmurillo/moq.analyzers#1468 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
[誤判定] `define` が `デフィね`・`デフィ値` になるPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto再現済み 要トリアージ 誤判定
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
yksr-melt/Meltype#421 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Facepunch/sbox-public#12063 · 1 comentario ·
Los mantenedores suelen responder en 2 días