Chapter 20. Tensors with PyTorch

20.0 Introduction

Just as NumPy is a foundational tool for data manipulation in the machine learning stack, PyTorch is a foundational tool for working with tensors in the deep learning stack. Before moving on to deep learning itself, we should familiarize ourselves with PyTorch tensors and create many operations analogous to those performed with NumPy in Chapter 1.

Although PyTorch is just one of multiple deep learning libraries, it is significantly popular both within academia and industry. PyTorch tensors are very similar to NumPy arrays. However, they also allow us to perform tensor operations on GPUs (hardware specialized for deep learning). In this chapter, we’ll familiarize ourselves with the basics of PyTorch tensors and many common low-level operations.

20.1 Creating a Tensor

Problem

You need to create a tensor.

Solution

Use Pytorch to create a tensor:

# Load library
import torch

# Create a vector as a row
tensor_row = torch.tensor([1, 2, 3])

# Create a vector as a column
tensor_column = torch.tensor(
    [
        [1],
        [2],
        [3]
    ]
)

Discussion

The main data structure within PyTorch is a tensor, and in many ways tensors are exactly like the multidimensional NumPy arrays used in Chapter 1. Just like vectors and arrays, these tensors can be represented horizontally (i.e., rows) or vertically (i.e., columns).

20.2 Creating a Tensor from NumPy

Problem

You need to create PyTorch tensors from NumPy ...

Get Machine Learning with Python Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.