[docs] Add docs for storage and tensors for quantized Tensor (#51817)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/51817
Test Plan: Imported from OSS
Reviewed By: supriyar
Differential Revision: D26292464
Pulled By: jerryzh168
fbshipit-source-id: c5992deda4af949de4ea2e40edee8f22bd59b9e1
diff --git a/docs/source/storage.rst b/docs/source/storage.rst
index 6114891..2a8a04c 100644
--- a/docs/source/storage.rst
+++ b/docs/source/storage.rst
@@ -6,7 +6,83 @@
Every :class:`torch.Tensor` has a corresponding storage of the same data type.
+.. autoclass:: torch.DoubleStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
.. autoclass:: torch.FloatStorage
:members:
:undoc-members:
:inherited-members:
+
+.. autoclass:: torch.HalfStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.LongStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.IntStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.ShortStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.CharStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.ByteStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.BoolStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.BFloat16Storage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.ComplexDoubleStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.ComplexFloatStorage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.QUInt8Storage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.QInt8Storage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.QInt32Storage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
+.. autoclass:: torch.QUInt4x2Storage
+ :members:
+ :undoc-members:
+ :inherited-members:
+
diff --git a/docs/source/tensors.rst b/docs/source/tensors.rst
index 842333f..62ebe1a 100644
--- a/docs/source/tensors.rst
+++ b/docs/source/tensors.rst
@@ -10,23 +10,27 @@
Torch defines 10 tensor types with CPU and GPU variants which are as follows:
-========================== =========================================== ============================= ================================
-Data type dtype CPU tensor GPU tensor
-========================== =========================================== ============================= ================================
-32-bit floating point ``torch.float32`` or ``torch.float`` :class:`torch.FloatTensor` :class:`torch.cuda.FloatTensor`
-64-bit floating point ``torch.float64`` or ``torch.double`` :class:`torch.DoubleTensor` :class:`torch.cuda.DoubleTensor`
-16-bit floating point [1]_ ``torch.float16`` or ``torch.half`` :class:`torch.HalfTensor` :class:`torch.cuda.HalfTensor`
-16-bit floating point [2]_ ``torch.bfloat16`` :class:`torch.BFloat16Tensor` :class:`torch.cuda.BFloat16Tensor`
-32-bit complex ``torch.complex32``
-64-bit complex ``torch.complex64``
-128-bit complex ``torch.complex128`` or ``torch.cdouble``
-8-bit integer (unsigned) ``torch.uint8`` :class:`torch.ByteTensor` :class:`torch.cuda.ByteTensor`
-8-bit integer (signed) ``torch.int8`` :class:`torch.CharTensor` :class:`torch.cuda.CharTensor`
-16-bit integer (signed) ``torch.int16`` or ``torch.short`` :class:`torch.ShortTensor` :class:`torch.cuda.ShortTensor`
-32-bit integer (signed) ``torch.int32`` or ``torch.int`` :class:`torch.IntTensor` :class:`torch.cuda.IntTensor`
-64-bit integer (signed) ``torch.int64`` or ``torch.long`` :class:`torch.LongTensor` :class:`torch.cuda.LongTensor`
-Boolean ``torch.bool`` :class:`torch.BoolTensor` :class:`torch.cuda.BoolTensor`
-========================== =========================================== ============================= ================================
+======================================= =========================================== ============================= ================================
+Data type dtype CPU tensor GPU tensor
+======================================= =========================================== ============================= ================================
+32-bit floating point ``torch.float32`` or ``torch.float`` :class:`torch.FloatTensor` :class:`torch.cuda.FloatTensor`
+64-bit floating point ``torch.float64`` or ``torch.double`` :class:`torch.DoubleTensor` :class:`torch.cuda.DoubleTensor`
+16-bit floating point [1]_ ``torch.float16`` or ``torch.half`` :class:`torch.HalfTensor` :class:`torch.cuda.HalfTensor`
+16-bit floating point [2]_ ``torch.bfloat16`` :class:`torch.BFloat16Tensor` :class:`torch.cuda.BFloat16Tensor`
+32-bit complex ``torch.complex32``
+64-bit complex ``torch.complex64``
+128-bit complex ``torch.complex128`` or ``torch.cdouble``
+8-bit integer (unsigned) ``torch.uint8`` :class:`torch.ByteTensor` :class:`torch.cuda.ByteTensor`
+8-bit integer (signed) ``torch.int8`` :class:`torch.CharTensor` :class:`torch.cuda.CharTensor`
+16-bit integer (signed) ``torch.int16`` or ``torch.short`` :class:`torch.ShortTensor` :class:`torch.cuda.ShortTensor`
+32-bit integer (signed) ``torch.int32`` or ``torch.int`` :class:`torch.IntTensor` :class:`torch.cuda.IntTensor`
+64-bit integer (signed) ``torch.int64`` or ``torch.long`` :class:`torch.LongTensor` :class:`torch.cuda.LongTensor`
+Boolean ``torch.bool`` :class:`torch.BoolTensor` :class:`torch.cuda.BoolTensor`
+quantized 8-bit integer (unsigned) ``torch.quint8`` :class:`torch.ByteTensor` /
+quantized 8-bit integer (signed) ``torch.qint8`` :class:`torch.CharTensor` /
+quantized 32-bit integer (signed) ``torch.qfint32`` :class:`torch.IntTensor` /
+quantized 4-bit integer (unsigned) [3]_ ``torch.quint4x2`` :class:`torch.ByteTensor` /
+======================================= =========================================== ============================= ================================
.. [1]
Sometimes referred to as binary16: uses 1 sign, 5 exponent, and 10
@@ -35,6 +39,8 @@
Sometimes referred to as Brain Floating Point: uses 1 sign, 8 exponent, and 7
significand bits. Useful when range is important, since it has the same
number of exponent bits as ``float32``
+.. [3]
+ quantized 4-bit integer is stored as a 8-bit signed integer. Currently it's only supported in EmbeddingBag operator.
:class:`torch.Tensor` is an alias for the default tensor type (:class:`torch.FloatTensor`).