add

Documentation

treetensor.torch.add(input, other, *args, **kwargs)[source]

Adds the scalar other to each element of the input input and returns a new resulting tree tensor.

Examples:

>>> import torch
>>> import treetensor.torch as ttorch
>>> ttorch.add(
...     ttorch.tensor([1, 2, 3]),
...     ttorch.tensor([3, 5, 11]),
... )
tensor([ 4,  7, 14])

>>> ttorch.add(
...     ttorch.tensor({
...         'a': [1, 2, 3],
...         'b': {'x': [[3, 5], [9, 12]]},
...     }),
...     ttorch.tensor({
...         'a': [3, 5, 11],
...         'b': {'x': [[31, -15], [13, 23]]},
...     })
... )
<Tensor 0x7f11b139c710>
├── a --> tensor([ 4,  7, 14])
└── b --> <Tensor 0x7f11b139c630>
    └── x --> tensor([[ 34, -10],
                      [ 22,  35]])

Torch Version Related

This documentation is based on torch.add in torch v1.9.0+cu102. Its arguments’ arrangements depend on the version of pytorch you installed.

If some arguments listed here are not working properly, please check your pytorch’s version with the following command and find its documentation.

1
python -c 'import torch;print(torch.__version__)'

The arguments and keyword arguments supported in torch v1.9.0+cu102 is listed below.

Description From Torch v1.9.0+cu102

torch.add(input, other, *, alpha=1, out=None)Tensor

Adds other, scaled by alpha, to input.

\[\text{{out}}_i = \text{{input}}_i + \text{{alpha}} \times \text{{other}}_i\]

Supports broadcasting to a common shape, type promotion, and integer, float, and complex inputs.

Args:

input (Tensor): the input tensor. other (Tensor or Number): the tensor or number to add to input.

Keyword arguments:

alpha (Number): the multiplier for other. out (Tensor, optional): the output tensor.

Examples:

>>> a = torch.randn(4)
>>> a
tensor([ 0.0202,  1.0985,  1.3506, -0.6056])
>>> torch.add(a, 20)
tensor([ 20.0202,  21.0985,  21.3506,  19.3944])

>>> b = torch.randn(4)
>>> b
tensor([-0.9732, -0.3497,  0.6245,  0.4022])
>>> c = torch.randn(4, 1)
>>> c
tensor([[ 0.3743],
        [-1.7724],
        [-0.5811],
        [-0.8017]])
>>> torch.add(b, c, alpha=10)
tensor([[  2.7695,   3.3930,   4.3672,   4.1450],
        [-18.6971, -18.0736, -17.0994, -17.3216],
        [ -6.7845,  -6.1610,  -5.1868,  -5.4090],
        [ -8.9902,  -8.3667,  -7.3925,  -7.6147]])