torch.div¶
-
torch.
div
(input, other, *, rounding_mode=None, out=None) → Tensor¶ Divides each element of the input
input
by the corresponding element ofother
.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
.
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.]])