File: type_info.rst

package info (click to toggle)
pytorch 1.13.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 139,252 kB
  • sloc: cpp: 1,100,274; python: 706,454; ansic: 83,052; asm: 7,618; java: 3,273; sh: 2,841; javascript: 612; makefile: 323; xml: 269; ruby: 185; yacc: 144; objc: 68; lex: 44
file content (62 lines) | stat: -rw-r--r-- 2,826 bytes parent folder | download | duplicates (3)
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.
=========   =====   ========================================