Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

`array_api_compat.torch.take` with 0-d `indices`?

Aperta
#460 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python, pytorch
Ambito
data

Direzione di ricerca

Inizia dal punto di ingresso array_api_compat.torch.take e confronta il suo comportamento con indices 0-d con torch.take e con la specifica take dell’Array API, incluso data-apis/array-api#1010. Il lavoro è completato quando il comportamento è stato risolto ed è coerente con l’interpretazione scelta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

array_api_compat.torch.take with 0-d indices produces a result with the same number of dimensions as the input.

from array_api_compat import torch as xp
x = xp.asarray([1])
xp.take(x, xp.asarray(0))
# tensor([1])

For non-wrapped torch.take (and all other array libraries) the output has one fewer dimension than the input.

import torch
x = torch.tensor([1])
torch.take(x, torch.asarray(0))
tensor(1)

from array_api_compat import numpy as xp
x = xp.asarray([1])
xp.take(x, xp.asarray(0))
# np.int64(1)

Technically, the standard of take requires indices to have exactly one dimension.
However, it also says:

Conceptually, take(x, indices, axis=3) is equivalent to x[:,:,:,indices,...];...

This is up for discussion in data-apis/array-api#1010.

But I'd think that either all libraries should follow the letter of the standard as closely as possible in this situation ("The output array must have the same rank (i.e., number of dimensions) as x") or array_api_compat.torch.take should be consistent with torch.take.

Lingua principale
Python
Stelle
132
Fork
49
Merge medio
16h 2m
PR unite (30g)
2

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di data-apis/array-api-compat

Tutte le issue di data-apis/array-api-compat

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.