Learn practical skills, build real-world projects, and advance your career

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 00, 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.]]))