MCPcopy Index your code
hub / github.com/pytorch/pytorch / ndarray

Class ndarray

torch/_numpy/_ndarray.py:174–465  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

172
173
174class ndarray:
175 def __init__(self, t=None):
176 if t is None:
177 self.tensor = torch.Tensor()
178 elif isinstance(t, torch.Tensor):
179 self.tensor = t
180 else:
181 raise ValueError(
182 "ndarray constructor is not recommended; prefer"
183 "either array(...) or zeros/empty(...)"
184 )
185
186 # Register NumPy functions as methods
187 for method, name in methods.items():
188 fn = getattr(_funcs, name or method)
189 vars()[method] = create_method(fn, method)
190
191 # Regular methods but coming from ufuncs
192 conj = create_method(_ufuncs.conjugate, "conj")
193 conjugate = create_method(_ufuncs.conjugate)
194
195 for method, name in dunder.items():
196 fn = getattr(_ufuncs, name or method)
197 method = f"__{method}__"
198 vars()[method] = create_method(fn, method)
199
200 for method, name in ri_dunder.items():
201 fn = getattr(_ufuncs, name or method)
202 plain = f"__{method}__"
203 vars()[plain] = create_method(fn, plain)
204 rvar = f"__r{method}__"
205 vars()[rvar] = create_method(lambda self, other, fn=fn: fn(other, self), rvar)
206 ivar = f"__i{method}__"
207 vars()[ivar] = create_method(
208 lambda self, other, fn=fn: fn(self, other, out=self), ivar
209 )
210
211 # There's no __idivmod__
212 __divmod__ = create_method(_ufuncs.divmod, "__divmod__")
213 __rdivmod__ = create_method(
214 lambda self, other: _ufuncs.divmod(other, self), "__rdivmod__"
215 )
216
217 # prevent loop variables leaking into the ndarray class namespace
218 del ivar, rvar, name, plain, fn, method
219
220 @property
221 def shape(self):
222 return tuple(self.tensor.shape)
223
224 @property
225 def size(self):
226 return self.tensor.numel()
227
228 @property
229 def ndim(self):
230 return self.tensor.ndim
231

Callers 9

wrap_tensorsFunction · 0.90
array_or_scalarFunction · 0.90
innerFunction · 0.90
astypeMethod · 0.85
viewMethod · 0.85
__iter__Method · 0.85
__getitem__Method · 0.85
arrayFunction · 0.85
from_dlpackFunction · 0.85

Calls 4

varsFunction · 0.85
create_methodFunction · 0.85
fnFunction · 0.50
itemsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…