PyTorch is an optimized tensor library for deep learning using CPUs and GPUs. PyTorch has a rich set of packages which are used to perform deep learning concepts. These packages help us in optimization, conversion, and loss calculation, etc. Let's get a brief knowledge of these packages.
S.No |
Name |
Description |
1. |
Torch |
The torch package includes data structure for multi-dimensional tensors and mathematical operation over these are defined. |
2. |
torch.Tensor |
This package is a multi-dimensional matrix which contains an element of a single data type. |
3. |
Tensor Attributes |
|
a) torch.dtype |
It is an object which represents the datatype of thetorch.Tensor. |
b) torch.device |
It is an object that represents the device on which torch.Tensor will be allocated. |
c) torch.layout |
It is an object which represents a memory layout of a toch.Tensor. |
4. |
Type Info |
The numerical properties of a torch.dtype will be accessed through either the torch.iinfo or the torch.finfo. |
1) torch.finfo |
It is an object which represents the numerical properties of a floating-point torch.dtype. |
2) torch.iinfo |
It is an object which represents the numerical properties of an integer torch.dtype. |
5. |
torch.sparse |
Torch supports sparse tensors in COO (rdinate) format, which will efficiently store and process tensors for which the majority of elements are zero. |
6. |
torch.cuda |
Torch supports for CUDA tensor types which implement the same function as CPU tensors, but for computation they utilize GPUs. |
7. |
torch.Storage |
A torch.Storage is a contiguous, one-dimensional array of a single data type. |
8. |
torch.nn |
This package provides us many more classes and modules to implement and train the neural network. |
9. |
torch.nn.functional |
This package has functional classes which are similar to torch.nn. |
10. |
torch.optim |
This package is used to implement various optimization algorithm. |
11. |
torch.autogard |
This package provides classes and functions to implement automatic differentiation of arbitrary scalar value functions. |
12. |
torch.distributed |
This package supports three backends and each one is with different capabilities. |
13. |
torch.distribution |
This package allows us to construct the stochastic computation graphs, and stochastic gradient estimators for optimization |
14. |
torch.hub |
It is a pre-trained model repository which is designed to facilitate research reproducibility. |
15. |
torch.multiprocessing |
It is a wrapper around the native multiprocessing module. |
16. |
torch.utils.bottleneck |
It is a tool which can be used as an initial step for debugging bottlenecks in our program. |
17. |
torch.utils.checkpoint |
It is used to create checkpoint in our source program. |
18. |
torch.tils.cpp_extension |
It is used to create the extension of C++, CUDA, and other languages. |
19. |
torch.utils.data |
This package is mainly used for creating the dataset. |
20. |
torch.utils.dlpack |
It will use to decode the Dlpack into tensor. |
21. |
torch.onnx |
The ONNX exporter is a trace-based exporter, which means that it operates by executing your model once and exporting the operators which were actually run during this run |