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 |
Leave a Reply