Learn practical skills, build real-world projects, and advance your career
Updated 3 years ago
5 Tensor operations you didn't know that you wanted to know about
Let's talk about 5 interesting tensor operations that you might even haven't heard about, but now will use daily ;)
- torch.eye
- torch.cat
- torch.full
- torch.unbind
- 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 59kB/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 37.7MB/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 7.3MB/s
Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from torch==1.7.0+cpu) (0.16.0)
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: 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.eye
torch.eye returns a 2D tensor with the values of diagonals as 1 and other values as 0.
The function expects two parameters — n and m. If m is not specified, then it
returns a 2D tensor of size nXn.
# Example 1
torch.eye(n=4, m=5)
tensor([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.]])