torch.div — PyTorch 2.7 documentation (original) (raw)
torch.div(input, other, *, rounding_mode=None, out=None) → Tensor¶
Divides each element of the input input
by the corresponding element ofother
.
outi=inputiotheri\text{out}_i = \frac{\text{input}_i}{\text{other}_i}
Note
By default, this performs a “true” division like Python 3. See the rounding_mode
argument for floor division.
Supports broadcasting to a common shape,type promotion, and integer, float, and complex inputs. Always promotes integer types to the default scalar type.
Parameters
Keyword Arguments
- rounding_mode (str, optional) –
Type of rounding applied to the result:- None - default behavior. Performs no rounding and, if both
input
andother
are integer types, promotes the inputs to the default scalar type. Equivalent to true division in Python (the/
operator) and NumPy’snp.true_divide
. "trunc"
- rounds the results of the division towards zero. Equivalent to C-style integer division."floor"
- rounds the results of the division down. Equivalent to floor division in Python (the//
operator) and NumPy’snp.floor_divide
.
- None - default behavior. Performs no rounding and, if both
- out (Tensor, optional) – the output tensor.
Examples:
x = torch.tensor([ 0.3810, 1.2774, -0.2972, -0.3719, 0.4637]) torch.div(x, 0.5) tensor([ 0.7620, 2.5548, -0.5944, -0.7438, 0.9274])
a = torch.tensor([[-0.3711, -1.9353, -0.4605, -0.2917], ... [ 0.1815, -1.0111, 0.9805, -1.5923], ... [ 0.1062, 1.4581, 0.7759, -1.2344], ... [-0.1830, -0.0313, 1.1908, -1.4757]]) b = torch.tensor([ 0.8032, 0.2930, -0.8113, -0.2308]) torch.div(a, b) tensor([[-0.4620, -6.6051, 0.5676, 1.2639], [ 0.2260, -3.4509, -1.2086, 6.8990], [ 0.1322, 4.9764, -0.9564, 5.3484], [-0.2278, -0.1068, -1.4678, 6.3938]])
torch.div(a, b, rounding_mode='trunc') tensor([[-0., -6., 0., 1.], [ 0., -3., -1., 6.], [ 0., 4., -0., 5.], [-0., -0., -1., 6.]])
torch.div(a, b, rounding_mode='floor') tensor([[-1., -7., 0., 1.], [ 0., -4., -2., 6.], [ 0., 4., -1., 5.], [-1., -1., -2., 6.]])