Common APIs across array libraries (1 year later)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- numpy, python, pytorch, tensorflow
- Ambito
- backend-api-design, documentation
Direzione di ricerca
Inizia esaminando gh-6 e la specifica dell’API degli array, quindi confronta le API documentate pubblicamente di NumPy, CuPy, Dask.array, JAX, MXNet, PyTorch e TensorFlow elencate qui. Il lavoro è completo quando è stato prodotto un insieme motivato di candidati per la standardizzazione nella prossima versione della specifica; non vengono indicati file o test del repository.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Overview
Similar to gh-6, this issue looks to identify commonalities across array libraries, but only addresses those APIs which are not already included in the array API specification.
Since gh-6 and its analysis,
- Every array library added more APIs.
- Continued convergence toward NumPy APIs (CuPy, PyTorch, TensorFlow.experimental, MXNet).
- Greater agreement among accelerator libraries (e.g., CuPy, MXNet, Torch, TF) wrt special functions not available in NumPy, but available in SciPy.
Method
Similar to gh-6, the list was compiled by doing the following:
- Generating a list of APIs based on publicly documented array APIs (e.g., by scraping website documentation).
- Computing the intersection across the individual datasets.
The following libraries were analyzed:
- numpy
- cupy
- dask.array
- jax
- mxnet
- pytorch
- tensorflow
APIs
The following APIs were found to be common across the above libraries, but not already included in the array API specification:
cbrt
clip
copysign
count_nonzero
deg2rad
diff
erf (scipy)
erfc (scipy)
erfinv (scipy)
erfcinv (scipy)
exp2
gamma (scipy)
gammaln (scipy)
histogram
hypot
i0 (bessel)
logsumexp (accelerators)
nextafter
pad
rad2deg
reciprocal
repeat
rot90
rsqrt (accelerators)
rcbrt (accelerators)
sigmoid (accelerators)
take
tile
top_k (accelerators+dask)
xlogy (scipy)
We can split the APIs into the following categories...
Array Manipulation
pad
repeat
rot90
tile
Special Functions
cbrt
clip
copysign
deg2rad
erf
erfc
erfcinv
erfinv
exp2
gamma
gammaln
hypot
i0
nextafter
rad2deg
reciprocal
rsqrt
rcbrt
sigmoid
xlogy
Reductions
count_nonzero
histogram
logsumexp
top_k
Indexing
take
Other
diff
Next Steps
- Identify which APIs could be suitable candidates for standardization in the next version of the specification.
- Lingua principale
- Python
- Stelle
- 281
- Fork
- 52
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di data-apis/array-api
-
bug Maintenance Narrative Content
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Maintenance
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di data-apis/array-api
Issue simili
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#30750 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100