mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Clarify torch.arange floating-point rounding behavior (#141655)
Added documentation note clarifying the rounding behavior of `torch.arange` when using floating-point dtypes, particularly for reduced precision types like `bfloat16`. This helps users understand potential issues like repeated values and provides guidance on using integer dtypes for precise sequences. ## Changes - Added explanatory note about floating-point rounding behavior and its effects - Included specific mention of `bfloat16` dtype issues - Added recommendation to use integer dtypes for precise sequences Fixes [#137774](https://github.com/pytorch/pytorch/issues/137774) Pull Request resolved: https://github.com/pytorch/pytorch/pull/141655 Approved by: https://github.com/cpuhrsch
This commit is contained in:
@ -9122,6 +9122,12 @@ Returns a 1-D tensor of size :math:`\left\lceil \frac{\text{end} - \text{start}}
|
||||
with values from the interval ``[start, end)`` taken with common difference
|
||||
:attr:`step` beginning from `start`.
|
||||
|
||||
Note: When using floating-point dtypes (especially reduced precision types like ``bfloat16``),
|
||||
the results may be affected by floating-point rounding behavior. Some values in the sequence
|
||||
might not be exactly representable in certain floating-point formats, which can lead to
|
||||
repeated values or unexpected rounding. For precise sequences, it is recommended to use
|
||||
integer dtypes instead of floating-point dtypes.
|
||||
|
||||
Note that non-integer :attr:`step` is subject to floating point rounding errors when
|
||||
comparing against :attr:`end`; to avoid inconsistency, we advise subtracting a small epsilon from :attr:`end`
|
||||
in such cases.
|
||||
|
||||
Reference in New Issue
Block a user