2016-12-23 21:28:04 +00:00
|
|
|
torch
|
2020-05-04 21:29:24 +00:00
|
|
|
=====
|
|
|
|
|
The torch package contains data structures for multi-dimensional
|
|
|
|
|
tensors and mathematical operations over these are defined.
|
|
|
|
|
Additionally, it provides many utilities for efficient serializing of
|
|
|
|
|
Tensors and arbitrary types, and other useful utilities.
|
|
|
|
|
|
|
|
|
|
It has a CUDA counterpart, that enables you to run your tensor computations
|
|
|
|
|
on an NVIDIA GPU with compute capability >= 3.0
|
|
|
|
|
|
|
|
|
|
.. currentmodule:: torch
|
2016-12-23 21:28:04 +00:00
|
|
|
|
2017-01-05 04:20:57 +00:00
|
|
|
Tensors
|
2020-05-04 21:29:24 +00:00
|
|
|
-------
|
|
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
is_tensor
|
|
|
|
|
is_storage
|
|
|
|
|
is_complex
|
|
|
|
|
is_floating_point
|
2020-05-14 11:44:55 +00:00
|
|
|
is_nonzero
|
2020-05-04 21:29:24 +00:00
|
|
|
set_default_dtype
|
|
|
|
|
get_default_dtype
|
|
|
|
|
set_default_tensor_type
|
|
|
|
|
numel
|
|
|
|
|
set_printoptions
|
|
|
|
|
set_flush_denormal
|
2017-01-05 04:20:57 +00:00
|
|
|
|
2018-04-17 20:52:22 +00:00
|
|
|
.. _tensor-creation-ops:
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Creation Ops
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
2018-04-19 17:16:07 +00:00
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
Random sampling creation ops are listed under :ref:`random-sampling` and
|
|
|
|
|
include:
|
|
|
|
|
:func:`torch.rand`
|
|
|
|
|
:func:`torch.rand_like`
|
|
|
|
|
:func:`torch.randn`
|
|
|
|
|
:func:`torch.randn_like`
|
|
|
|
|
:func:`torch.randint`
|
|
|
|
|
:func:`torch.randint_like`
|
|
|
|
|
:func:`torch.randperm`
|
2018-04-21 11:35:37 +00:00
|
|
|
You may also use :func:`torch.empty` with the :ref:`inplace-random-sampling`
|
|
|
|
|
methods to create :class:`torch.Tensor` s with values sampled from a broader
|
|
|
|
|
range of distributions.
|
2018-04-19 17:16:07 +00:00
|
|
|
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
tensor
|
|
|
|
|
sparse_coo_tensor
|
|
|
|
|
as_tensor
|
|
|
|
|
as_strided
|
|
|
|
|
from_numpy
|
|
|
|
|
zeros
|
|
|
|
|
zeros_like
|
|
|
|
|
ones
|
|
|
|
|
ones_like
|
|
|
|
|
arange
|
|
|
|
|
range
|
|
|
|
|
linspace
|
|
|
|
|
logspace
|
|
|
|
|
eye
|
|
|
|
|
empty
|
|
|
|
|
empty_like
|
|
|
|
|
empty_strided
|
|
|
|
|
full
|
|
|
|
|
full_like
|
|
|
|
|
quantize_per_tensor
|
|
|
|
|
quantize_per_channel
|
|
|
|
|
dequantize
|
2020-08-14 07:28:38 +00:00
|
|
|
complex
|
|
|
|
|
polar
|
2020-08-31 22:43:51 +00:00
|
|
|
heaviside
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Indexing, Slicing, Joining, Mutating Ops
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
cat
|
|
|
|
|
chunk
|
2020-08-16 03:36:55 +00:00
|
|
|
dstack
|
2020-05-04 21:29:24 +00:00
|
|
|
gather
|
2020-08-16 03:36:55 +00:00
|
|
|
hstack
|
2020-05-04 21:29:24 +00:00
|
|
|
index_select
|
|
|
|
|
masked_select
|
2020-08-17 21:22:36 +00:00
|
|
|
movedim
|
2020-05-04 21:29:24 +00:00
|
|
|
narrow
|
|
|
|
|
nonzero
|
|
|
|
|
reshape
|
|
|
|
|
split
|
|
|
|
|
squeeze
|
|
|
|
|
stack
|
|
|
|
|
t
|
|
|
|
|
take
|
|
|
|
|
transpose
|
|
|
|
|
unbind
|
|
|
|
|
unsqueeze
|
2020-08-16 03:36:55 +00:00
|
|
|
vstack
|
2020-05-04 21:29:24 +00:00
|
|
|
where
|
2017-01-05 04:20:57 +00:00
|
|
|
|
2019-06-12 19:51:19 +00:00
|
|
|
.. _generators:
|
|
|
|
|
|
|
|
|
|
Generators
|
|
|
|
|
----------------------------------
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
2020-05-22 16:00:03 +00:00
|
|
|
Generator
|
2019-06-12 19:51:19 +00:00
|
|
|
|
2018-04-19 17:16:07 +00:00
|
|
|
.. _random-sampling:
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Random sampling
|
|
|
|
|
----------------------------------
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
seed
|
|
|
|
|
manual_seed
|
|
|
|
|
initial_seed
|
|
|
|
|
get_rng_state
|
|
|
|
|
set_rng_state
|
|
|
|
|
|
2019-06-12 19:51:19 +00:00
|
|
|
.. autoattribute:: torch.default_generator
|
|
|
|
|
:annotation: Returns the default CPU torch.Generator
|
2019-10-13 17:32:28 +00:00
|
|
|
|
|
|
|
|
.. The following doesn't actually seem to exist.
|
|
|
|
|
https://github.com/pytorch/pytorch/issues/27780
|
|
|
|
|
.. autoattribute:: torch.cuda.default_generators
|
|
|
|
|
:annotation: If cuda is available, returns a tuple of default CUDA torch.Generator-s.
|
|
|
|
|
The number of CUDA torch.Generator-s returned is equal to the number of
|
|
|
|
|
GPUs available in the system.
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
bernoulli
|
|
|
|
|
multinomial
|
|
|
|
|
normal
|
|
|
|
|
poisson
|
|
|
|
|
rand
|
|
|
|
|
rand_like
|
|
|
|
|
randint
|
|
|
|
|
randint_like
|
|
|
|
|
randn
|
|
|
|
|
randn_like
|
|
|
|
|
randperm
|
2017-09-14 14:03:17 +00:00
|
|
|
|
2018-04-21 11:35:37 +00:00
|
|
|
.. _inplace-random-sampling:
|
|
|
|
|
|
2017-09-14 14:03:17 +00:00
|
|
|
In-place random sampling
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
There are a few more in-place random sampling functions defined on Tensors as well. Click through to refer to their documentation:
|
|
|
|
|
|
|
|
|
|
- :func:`torch.Tensor.bernoulli_` - in-place version of :func:`torch.bernoulli`
|
|
|
|
|
- :func:`torch.Tensor.cauchy_` - numbers drawn from the Cauchy distribution
|
|
|
|
|
- :func:`torch.Tensor.exponential_` - numbers drawn from the exponential distribution
|
|
|
|
|
- :func:`torch.Tensor.geometric_` - elements drawn from the geometric distribution
|
|
|
|
|
- :func:`torch.Tensor.log_normal_` - samples from the log-normal distribution
|
|
|
|
|
- :func:`torch.Tensor.normal_` - in-place version of :func:`torch.normal`
|
|
|
|
|
- :func:`torch.Tensor.random_` - numbers sampled from the discrete uniform distribution
|
2018-01-09 16:47:48 +00:00
|
|
|
- :func:`torch.Tensor.uniform_` - numbers sampled from the continuous uniform distribution
|
2017-01-05 04:20:57 +00:00
|
|
|
|
2019-03-26 14:49:58 +00:00
|
|
|
Quasi-random sampling
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
:template: sobolengine.rst
|
2019-03-26 14:49:58 +00:00
|
|
|
|
2020-05-04 21:29:24 +00:00
|
|
|
quasirandom.SobolEngine
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Serialization
|
|
|
|
|
----------------------------------
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
2017-01-05 04:20:57 +00:00
|
|
|
|
2020-05-04 21:29:24 +00:00
|
|
|
save
|
|
|
|
|
load
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Parallelism
|
|
|
|
|
----------------------------------
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
get_num_threads
|
|
|
|
|
set_num_threads
|
|
|
|
|
get_num_interop_threads
|
|
|
|
|
set_num_interop_threads
|
2017-01-05 04:20:57 +00:00
|
|
|
|
2018-04-21 11:35:37 +00:00
|
|
|
Locally disabling gradient computation
|
|
|
|
|
--------------------------------------
|
|
|
|
|
The context managers :func:`torch.no_grad`, :func:`torch.enable_grad`, and
|
|
|
|
|
:func:`torch.set_grad_enabled` are helpful for locally disabling and enabling
|
|
|
|
|
gradient computation. See :ref:`locally-disable-grad` for more details on
|
2019-06-13 20:39:40 +00:00
|
|
|
their usage. These context managers are thread local, so they won't
|
2019-10-13 17:32:28 +00:00
|
|
|
work if you send work to another thread using the ``threading`` module, etc.
|
2018-04-21 11:35:37 +00:00
|
|
|
|
|
|
|
|
Examples::
|
|
|
|
|
|
|
|
|
|
>>> x = torch.zeros(1, requires_grad=True)
|
|
|
|
|
>>> with torch.no_grad():
|
|
|
|
|
... y = x * 2
|
|
|
|
|
>>> y.requires_grad
|
|
|
|
|
False
|
|
|
|
|
|
|
|
|
|
>>> is_train = False
|
|
|
|
|
>>> with torch.set_grad_enabled(is_train):
|
|
|
|
|
... y = x * 2
|
|
|
|
|
>>> y.requires_grad
|
|
|
|
|
False
|
|
|
|
|
|
|
|
|
|
>>> torch.set_grad_enabled(True) # this can also be used as a function
|
|
|
|
|
>>> y = x * 2
|
|
|
|
|
>>> y.requires_grad
|
|
|
|
|
True
|
|
|
|
|
|
|
|
|
|
>>> torch.set_grad_enabled(False)
|
|
|
|
|
>>> y = x * 2
|
|
|
|
|
>>> y.requires_grad
|
|
|
|
|
False
|
|
|
|
|
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
no_grad
|
|
|
|
|
enable_grad
|
|
|
|
|
set_grad_enabled
|
2017-01-05 04:20:57 +00:00
|
|
|
|
2016-12-23 21:28:04 +00:00
|
|
|
Math operations
|
2020-05-04 21:29:24 +00:00
|
|
|
---------------
|
2016-12-23 21:28:04 +00:00
|
|
|
|
2017-01-05 04:20:57 +00:00
|
|
|
Pointwise Ops
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
abs
|
|
|
|
|
absolute
|
|
|
|
|
acos
|
2020-08-21 17:50:57 +00:00
|
|
|
arccos
|
2020-06-04 18:38:14 +00:00
|
|
|
acosh
|
2020-08-17 05:10:46 +00:00
|
|
|
arccosh
|
2020-05-04 21:29:24 +00:00
|
|
|
add
|
|
|
|
|
addcdiv
|
|
|
|
|
addcmul
|
|
|
|
|
angle
|
|
|
|
|
asin
|
2020-08-21 17:50:57 +00:00
|
|
|
arcsin
|
2020-06-04 18:38:14 +00:00
|
|
|
asinh
|
2020-08-28 20:57:43 +00:00
|
|
|
arcsinh
|
2020-05-04 21:29:24 +00:00
|
|
|
atan
|
2020-08-21 17:50:57 +00:00
|
|
|
arctan
|
2020-06-04 18:38:14 +00:00
|
|
|
atanh
|
2020-08-28 20:57:43 +00:00
|
|
|
arctanh
|
2020-05-04 21:29:24 +00:00
|
|
|
atan2
|
|
|
|
|
bitwise_not
|
|
|
|
|
bitwise_and
|
|
|
|
|
bitwise_or
|
|
|
|
|
bitwise_xor
|
|
|
|
|
ceil
|
|
|
|
|
clamp
|
2020-08-09 09:44:23 +00:00
|
|
|
clip
|
2020-05-04 21:29:24 +00:00
|
|
|
conj
|
|
|
|
|
cos
|
|
|
|
|
cosh
|
2020-06-04 05:17:17 +00:00
|
|
|
deg2rad
|
2020-05-04 21:29:24 +00:00
|
|
|
div
|
2020-09-19 22:39:49 +00:00
|
|
|
divide
|
2020-05-04 21:29:24 +00:00
|
|
|
digamma
|
|
|
|
|
erf
|
|
|
|
|
erfc
|
|
|
|
|
erfinv
|
|
|
|
|
exp
|
2020-09-14 10:39:04 +00:00
|
|
|
exp2
|
2020-05-04 21:29:24 +00:00
|
|
|
expm1
|
2020-08-21 04:46:13 +00:00
|
|
|
fix
|
2020-05-04 21:29:24 +00:00
|
|
|
floor
|
|
|
|
|
floor_divide
|
|
|
|
|
fmod
|
|
|
|
|
frac
|
|
|
|
|
imag
|
|
|
|
|
lerp
|
|
|
|
|
lgamma
|
|
|
|
|
log
|
|
|
|
|
log10
|
|
|
|
|
log1p
|
|
|
|
|
log2
|
2020-05-28 03:24:21 +00:00
|
|
|
logaddexp
|
|
|
|
|
logaddexp2
|
2020-05-04 21:29:24 +00:00
|
|
|
logical_and
|
|
|
|
|
logical_not
|
|
|
|
|
logical_or
|
|
|
|
|
logical_xor
|
2020-07-14 02:31:26 +00:00
|
|
|
logit
|
2020-08-12 20:14:36 +00:00
|
|
|
hypot
|
2020-09-06 06:09:43 +00:00
|
|
|
i0
|
2020-05-04 21:29:24 +00:00
|
|
|
mul
|
2020-09-19 22:39:49 +00:00
|
|
|
multiply
|
2020-05-04 21:29:24 +00:00
|
|
|
mvlgamma
|
|
|
|
|
neg
|
2020-08-24 08:12:55 +00:00
|
|
|
negative
|
2020-08-14 07:33:36 +00:00
|
|
|
nextafter
|
2020-05-04 21:29:24 +00:00
|
|
|
polygamma
|
|
|
|
|
pow
|
2020-06-04 05:17:17 +00:00
|
|
|
rad2deg
|
2020-05-04 21:29:24 +00:00
|
|
|
real
|
|
|
|
|
reciprocal
|
|
|
|
|
remainder
|
|
|
|
|
round
|
|
|
|
|
rsqrt
|
|
|
|
|
sigmoid
|
|
|
|
|
sign
|
2020-07-30 18:18:37 +00:00
|
|
|
signbit
|
2020-05-04 21:29:24 +00:00
|
|
|
sin
|
|
|
|
|
sinh
|
|
|
|
|
sqrt
|
|
|
|
|
square
|
2020-08-30 22:42:19 +00:00
|
|
|
sub
|
|
|
|
|
subtract
|
2020-05-04 21:29:24 +00:00
|
|
|
tan
|
|
|
|
|
tanh
|
|
|
|
|
true_divide
|
|
|
|
|
trunc
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Reduction Ops
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
argmax
|
|
|
|
|
argmin
|
2020-08-31 11:52:50 +00:00
|
|
|
amax
|
|
|
|
|
amin
|
|
|
|
|
max
|
|
|
|
|
min
|
2020-05-04 21:29:24 +00:00
|
|
|
dist
|
|
|
|
|
logsumexp
|
|
|
|
|
mean
|
|
|
|
|
median
|
|
|
|
|
mode
|
|
|
|
|
norm
|
2020-08-12 05:24:27 +00:00
|
|
|
nansum
|
2020-05-04 21:29:24 +00:00
|
|
|
prod
|
2020-08-11 19:06:28 +00:00
|
|
|
quantile
|
2020-09-17 12:50:41 +00:00
|
|
|
nanquantile
|
2020-05-04 21:29:24 +00:00
|
|
|
std
|
|
|
|
|
std_mean
|
|
|
|
|
sum
|
|
|
|
|
unique
|
|
|
|
|
unique_consecutive
|
|
|
|
|
var
|
|
|
|
|
var_mean
|
2020-06-30 13:37:52 +00:00
|
|
|
count_nonzero
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
Comparison Ops
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
allclose
|
|
|
|
|
argsort
|
|
|
|
|
eq
|
|
|
|
|
equal
|
|
|
|
|
ge
|
2020-09-06 16:34:46 +00:00
|
|
|
greater_equal
|
2020-05-04 21:29:24 +00:00
|
|
|
gt
|
2020-09-06 16:34:46 +00:00
|
|
|
greater
|
2020-05-04 21:29:24 +00:00
|
|
|
isclose
|
|
|
|
|
isfinite
|
|
|
|
|
isinf
|
2020-07-29 10:27:02 +00:00
|
|
|
isposinf
|
|
|
|
|
isneginf
|
2020-05-04 21:29:24 +00:00
|
|
|
isnan
|
2020-07-18 05:05:40 +00:00
|
|
|
isreal
|
2020-05-04 21:29:24 +00:00
|
|
|
kthvalue
|
|
|
|
|
le
|
2020-09-06 16:34:46 +00:00
|
|
|
less_equal
|
2020-05-04 21:29:24 +00:00
|
|
|
lt
|
2020-09-06 16:34:46 +00:00
|
|
|
less
|
2020-08-26 23:54:33 +00:00
|
|
|
maximum
|
|
|
|
|
minimum
|
2020-05-04 21:29:24 +00:00
|
|
|
ne
|
2020-09-06 16:34:46 +00:00
|
|
|
not_equal
|
2020-05-04 21:29:24 +00:00
|
|
|
sort
|
|
|
|
|
topk
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
|
2017-12-18 17:28:23 +00:00
|
|
|
Spectral Ops
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
fft
|
|
|
|
|
ifft
|
|
|
|
|
rfft
|
|
|
|
|
irfft
|
|
|
|
|
stft
|
|
|
|
|
istft
|
|
|
|
|
bartlett_window
|
|
|
|
|
blackman_window
|
|
|
|
|
hamming_window
|
|
|
|
|
hann_window
|
2020-09-17 03:37:11 +00:00
|
|
|
kaiser_window
|
2017-12-18 17:28:23 +00:00
|
|
|
|
|
|
|
|
|
2017-01-05 04:20:57 +00:00
|
|
|
Other Operations
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
|
|
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
2020-07-17 17:06:52 +00:00
|
|
|
atleast_1d
|
|
|
|
|
atleast_2d
|
|
|
|
|
atleast_3d
|
2020-05-04 21:29:24 +00:00
|
|
|
bincount
|
|
|
|
|
block_diag
|
|
|
|
|
broadcast_tensors
|
2020-05-12 04:52:24 +00:00
|
|
|
bucketize
|
2020-05-04 21:29:24 +00:00
|
|
|
cartesian_prod
|
|
|
|
|
cdist
|
2020-08-16 11:17:10 +00:00
|
|
|
clone
|
2020-05-04 21:29:24 +00:00
|
|
|
combinations
|
|
|
|
|
cross
|
|
|
|
|
cummax
|
|
|
|
|
cummin
|
|
|
|
|
cumprod
|
|
|
|
|
cumsum
|
|
|
|
|
diag
|
|
|
|
|
diag_embed
|
|
|
|
|
diagflat
|
|
|
|
|
diagonal
|
|
|
|
|
einsum
|
|
|
|
|
flatten
|
|
|
|
|
flip
|
2020-06-09 14:15:25 +00:00
|
|
|
fliplr
|
|
|
|
|
flipud
|
2020-05-04 21:29:24 +00:00
|
|
|
rot90
|
2020-07-16 03:54:53 +00:00
|
|
|
gcd
|
2020-05-04 21:29:24 +00:00
|
|
|
histc
|
|
|
|
|
meshgrid
|
2020-07-16 03:54:53 +00:00
|
|
|
lcm
|
2020-05-21 16:09:41 +00:00
|
|
|
logcumsumexp
|
2020-05-04 21:29:24 +00:00
|
|
|
renorm
|
|
|
|
|
repeat_interleave
|
|
|
|
|
roll
|
2020-05-12 04:52:24 +00:00
|
|
|
searchsorted
|
2020-05-04 21:29:24 +00:00
|
|
|
tensordot
|
|
|
|
|
trace
|
|
|
|
|
tril
|
|
|
|
|
tril_indices
|
|
|
|
|
triu
|
|
|
|
|
triu_indices
|
|
|
|
|
vander
|
2020-06-22 22:13:37 +00:00
|
|
|
view_as_real
|
|
|
|
|
view_as_complex
|
2017-01-05 04:20:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
BLAS and LAPACK Operations
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
addbmm
|
|
|
|
|
addmm
|
|
|
|
|
addmv
|
|
|
|
|
addr
|
|
|
|
|
baddbmm
|
|
|
|
|
bmm
|
|
|
|
|
chain_matmul
|
|
|
|
|
cholesky
|
|
|
|
|
cholesky_inverse
|
|
|
|
|
cholesky_solve
|
|
|
|
|
dot
|
|
|
|
|
eig
|
|
|
|
|
geqrf
|
|
|
|
|
ger
|
|
|
|
|
inverse
|
|
|
|
|
det
|
|
|
|
|
logdet
|
|
|
|
|
slogdet
|
|
|
|
|
lstsq
|
|
|
|
|
lu
|
|
|
|
|
lu_solve
|
|
|
|
|
lu_unpack
|
|
|
|
|
matmul
|
|
|
|
|
matrix_power
|
|
|
|
|
matrix_rank
|
2020-08-18 21:12:49 +00:00
|
|
|
matrix_exp
|
2020-05-04 21:29:24 +00:00
|
|
|
mm
|
|
|
|
|
mv
|
|
|
|
|
orgqr
|
|
|
|
|
ormqr
|
Adds linalg.det alias, fixes outer alias, updates alias testing (#42802)
Summary:
This PR:
- updates test_op_normalization.py, which verifies that aliases are correctly translated in the JIT
- adds torch.linalg.det as an alias for torch.det
- moves the torch.linalg.outer alias to torch.outer (to be consistent with NumPy)
The torch.linalg.outer alias was put the linalg namespace erroneously as a placeholder since it's a "linear algebra op" according to NumPy but is actually still in the main NumPy namespace.
The updates to test_op_normalization are necessary. Previously it was using method_tests to generate tests, and method_tests assumes test suites using it also use the device generic framework, which test_op_normalization did not. For example, some ops require decorators like `skipCPUIfNoLapack`, which only works in device generic test classes. Moving test_op_normalization to the device generic framework also lets these tests run on CPU and CUDA.
Continued reliance on method_tests() is excessive since the test suite is only interested in testing aliasing, and a simpler and more readable `AliasInfo` class is used for the required information. An example impedance mismatch between method_tests and the new tests, for example, was how to handle ops in namespaces like torch.linalg.det. In the future this information will likely be folded into a common 'OpInfo' registry in the test suite.
The actual tests performed are similar to what they were previously: a scripted and traced version of the op is run and the test verifies that both graphs do not contain the alias name and do contain the aliased name.
The guidance for adding an alias has been updated accordingly.
cc mattip
Note:
ngimel suggests:
- deprecating and then removing the `torch.ger` name
- reviewing the implementation of `torch.outer`
Pull Request resolved: https://github.com/pytorch/pytorch/pull/42802
Reviewed By: zou3519
Differential Revision: D23059883
Pulled By: mruberry
fbshipit-source-id: 11321c2a7fb283a6e7c0d8899849ad7476be42d1
2020-08-12 04:47:08 +00:00
|
|
|
outer
|
2020-05-04 21:29:24 +00:00
|
|
|
pinverse
|
|
|
|
|
qr
|
|
|
|
|
solve
|
|
|
|
|
svd
|
|
|
|
|
svd_lowrank
|
|
|
|
|
pca_lowrank
|
|
|
|
|
symeig
|
|
|
|
|
lobpcg
|
|
|
|
|
trapz
|
|
|
|
|
triangular_solve
|
2020-09-02 15:58:51 +00:00
|
|
|
vdot
|
2020-05-04 16:35:17 +00:00
|
|
|
|
2020-05-04 17:55:56 +00:00
|
|
|
Utilities
|
|
|
|
|
----------------------------------
|
2020-05-04 21:29:24 +00:00
|
|
|
.. autosummary::
|
|
|
|
|
:toctree: generated
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
|
|
|
|
compiled_with_cxx11_abi
|
|
|
|
|
result_type
|
|
|
|
|
can_cast
|
|
|
|
|
promote_types
|
2020-09-01 04:04:31 +00:00
|
|
|
set_deterministic
|
|
|
|
|
is_deterministic
|
2020-09-18 20:23:52 +00:00
|
|
|
vmap
|
2020-09-25 20:44:53 +00:00
|
|
|
Assert
|