1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
.. currentmodule:: torch
.. _type-info-doc:
Type Info
=========
The numerical properties of a :class:`torch.dtype` can be accessed through either the :class:`torch.finfo` or the :class:`torch.iinfo`.
.. _finfo-doc:
torch.finfo
-----------
.. class:: torch.finfo
A :class:`torch.finfo` is an object that represents the numerical properties of a floating point
:class:`torch.dtype`, (i.e. ``torch.float32``, ``torch.float64``, ``torch.float16``, and ``torch.bfloat16``). This is similar to `numpy.finfo <https://docs.scipy.org/doc/numpy/reference/generated/numpy.finfo.html>`_.
A :class:`torch.finfo` provides the following attributes:
=============== ===== ==========================================================================
Name Type Description
=============== ===== ==========================================================================
bits int The number of bits occupied by the type.
eps float The smallest representable number such that ``1.0 + eps != 1.0``.
max float The largest representable number.
min float The smallest representable number (typically ``-max``).
tiny float The smallest positive normal number. Equivalent to ``smallest_normal``.
smallest_normal float The smallest positive normal number. See notes.
resolution float The approximate decimal resolution of this type, i.e., ``10**-precision``.
=============== ===== ==========================================================================
.. note::
The constructor of :class:`torch.finfo` can be called without argument, in which case the class is created for the pytorch default dtype (as returned by :func:`torch.get_default_dtype`).
.. note::
`smallest_normal` returns the smallest *normal* number, but there are smaller
subnormal numbers. See https://en.wikipedia.org/wiki/Denormal_number
for more information.
.. _iinfo-doc:
torch.iinfo
------------
.. class:: torch.iinfo
A :class:`torch.iinfo` is an object that represents the numerical properties of a integer
:class:`torch.dtype` (i.e. ``torch.uint8``, ``torch.int8``, ``torch.int16``, ``torch.int32``, and ``torch.int64``). This is similar to `numpy.iinfo <https://docs.scipy.org/doc/numpy/reference/generated/numpy.iinfo.html>`_.
A :class:`torch.iinfo` provides the following attributes:
========= ===== ========================================
Name Type Description
========= ===== ========================================
bits int The number of bits occupied by the type.
max int The largest representable number.
min int The smallest representable number.
========= ===== ========================================
|