MLX compatibility: Statistical functions
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
Direzione di ricerca
Inizia eseguendo i test indicati: test_cumulative_sum, test_cumulative_prod, test_prod, test_std, test_sum e test_var. Segui i loro fallimenti attraverso il layer di compatibilità Python e confronta ogni wrapper con le signature di Array API e le regole sui dtype mostrate qui. Il lavoro è completato quando le discrepanze nelle keyword e i casi di promozione degli interi piccoli superano i test per tutte e sei le funzioni statistiche.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
| Array API | MLX Analog | Status | Notes | Test Node | Result |
|---|---|---|---|---|---|
| cumulative_sum(x, /, *, axis=None, dtype=None, include_initial=False) | cumsum(a, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, dtype: Dtype | None = None, stream=None) | incompatible | MLX lacks the include_initial keyword (raises TypeError) and skips the standard default-integer dtype promotion — a uint8 input stays uint8 instead of promoting to uint32. |
test_cumulative_sum | Failed |
| cumulative_prod(x, /, *, axis=None, dtype=None, include_initial=False) | cumprod(a, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, dtype: Dtype | None = None, stream=None) | incompatible | Same two issues as cumulative_sum: missing include_initial keyword and no default-integer dtype promotion (uint8 stays uint8 instead of uint32). |
test_cumulative_prod | Failed |
| prod(x, /, *, axis=None, dtype=None, keepdims=False) | prod(a, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, *, stream=None) | incompatible | MLX has no dtype keyword (raises TypeError) and does not promote small integer inputs to the standard default integer dtype (uint8 stays uint8 instead of uint32). |
test_prod | Failed |
| std(x, /, *, axis=None, correction=0.0, keepdims=False) | std(a, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, ddof: int = 0, *, stream=None) | incompatible | MLX exposes ddof instead of the Array API's correction keyword, so passing correction raises a TypeError. |
test_std | Failed |
| sum(x, /, *, axis=None, dtype=None, keepdims=False) | sum(a, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, *, stream=None) | incompatible | MLX has no dtype keyword (raises TypeError) and does not promote small integer inputs to the standard default integer dtype (uint8 stays uint8 instead of uint32). |
test_sum | Failed |
| var(x, /, *, axis=None, correction=0.0, keepdims=False) | var(a, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, ddof: int = 0, *, stream=None) | incompatible | MLX exposes ddof instead of the Array API's correction keyword, so passing correction raises a TypeError. |
test_var | Failed |
- Lingua principale
- Python
- Stelle
- 131
- Fork
- 49
- Merge medio
- 2g 8h
- PR unite (30g)
- 6
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-compat
-
blocked by upstream
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
data-apis/array-api-compat#439 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
data-apis/array-api-compat#395 · 2 commenti ·
-
Release 1.16 Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
data-apis/array-api-compat#476 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
data-apis/array-api-compat#473 · 4 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
data-apis/array-api-compat#465 · 3 commenti ·
Tutte le issue di data-apis/array-api-compat
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100