File: type_info.rst

package info (click to toggle)
pytorch-cuda 2.6.0%2Bdfsg-7
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 161,620 kB
  • sloc: python: 1,278,832; cpp: 900,322; ansic: 82,710; asm: 7,754; java: 3,363; sh: 2,811; javascript: 2,443; makefile: 597; ruby: 195; xml: 84; objc: 68
file content (62 lines) | stat: -rw-r--r-- 2,826 bytes parent folder | download | duplicates (4)
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.
=========   =====   ========================================