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