5 Useful PyTorch Functions
PyTorch is an open source framework for Deep learning using CPUs and GPUs. It is based on torch library, which is a scientific computing framework. Pytorch was developed by Facebook's AI research Lab (FAIR) and is mainly used for applications such as Computer Vision (CV) and Natural Language Processing (NLP).
In this notebook, we will bediscussing about 5 useful Pytorch functions for data operations. The functions are given below:
- torch.chunk
- torch.take
- torch.stack
- torch.addcmul
- torch.where
Before we begin, let's install and import PyTorch
# Uncomment and run the appropriate command for your operating system, if required
# Linux / Binder
# !pip install numpy torch==1.7.0+cpu torchvision==0.8.1+cpu torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
# Windows
!pip install numpy torch==1.7.0+cpu torchvision==0.8.1+cpu torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
# MacOS
# !pip install numpy torch torchvision torchaudio
Looking in links: https://download.pytorch.org/whl/torch_stable.html
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (1.18.5)
Collecting torch==1.7.0+cpu
Downloading https://download.pytorch.org/whl/cpu/torch-1.7.0%2Bcpu-cp36-cp36m-linux_x86_64.whl (159.3MB)
|████████████████████████████████| 159.3MB 76kB/s
Collecting torchvision==0.8.1+cpu
Downloading https://download.pytorch.org/whl/cpu/torchvision-0.8.1%2Bcpu-cp36-cp36m-linux_x86_64.whl (11.8MB)
|████████████████████████████████| 11.8MB 43.8MB/s
Collecting torchaudio==0.7.0
Downloading https://files.pythonhosted.org/packages/3f/23/6b54106b3de029d3f10cf8debc302491c17630357449c900d6209665b302/torchaudio-0.7.0-cp36-cp36m-manylinux1_x86_64.whl (7.6MB)
|████████████████████████████████| 7.6MB 4.5MB/s
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.6/dist-packages (from torch==1.7.0+cpu) (3.7.4.3)
Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from torch==1.7.0+cpu) (0.16.0)
Requirement already satisfied: dataclasses in /usr/local/lib/python3.6/dist-packages (from torch==1.7.0+cpu) (0.8)
Requirement already satisfied: pillow>=4.1.1 in /usr/local/lib/python3.6/dist-packages (from torchvision==0.8.1+cpu) (7.0.0)
Installing collected packages: torch, torchvision, torchaudio
Found existing installation: torch 1.7.0+cu101
Uninstalling torch-1.7.0+cu101:
Successfully uninstalled torch-1.7.0+cu101
Found existing installation: torchvision 0.8.1+cu101
Uninstalling torchvision-0.8.1+cu101:
Successfully uninstalled torchvision-0.8.1+cu101
Successfully installed torch-1.7.0+cpu torchaudio-0.7.0 torchvision-0.8.1+cpu
# Import torch and other required modules
import torch
Function 1 - torch.chunk
The function is used to split a tensor into a given number of chunks.
The syntax is:
torch.chunk(input,chunks,dim=0)
By default, the dim
value is , ie., along the horizontal dimension. If the split is to be done along any other dimensions, the value has to be set accordingly. Now, let us see a few examples on how to use the function.
# Example 1 - working
input1= torch.tensor([[1, 2], [3, 4.],[5, 6],[7, 8]])
torch.chunk(input1,4,dim=0)
(tensor([[1., 2.]]),
tensor([[3., 4.]]),
tensor([[5., 6.]]),
tensor([[7., 8.]]))