PyTorch 入门与提高(1)—创建 Tensor

作者:搬砖的石头2024.01.08 01:56浏览量:18

简介:本文将向您介绍如何在 PyTorch 中创建 Tensor,这是使用 PyTorch 进行深度学习的重要第一步。我们将从最基本的 Tensor 创建方式开始,逐步深入到更高级的概念。

PyTorch 中,我们通常使用 Tensor 来存储和处理数据。PyTorch 提供了一系列便捷的函数和操作,可以帮助我们快速创建 Tensor。下面我们将介绍几种常见的创建 Tensor 的方法。
1. 使用 torch.tensor() 函数创建 Tensor
这是最基本的方法,可以直接将 Python 列表或 NumPy 数组转换为 Tensor。

  1. import torch
  2. import numpy as np
  3. # 从 Python 列表创建 Tensor
  4. tensor1 = torch.tensor([1, 2, 3, 4])
  5. # 从 NumPy 数组创建 Tensor
  6. numpy_array = np.array([1, 2, 3, 4])
  7. tensor2 = torch.tensor(numpy_array)

2. 使用 torch.from_numpy() 函数创建 Tensor
如果你有一个 NumPy 数组,并且想要将其转换为 PyTorch Tensor,那么 torch.from_numpy() 函数会非常有用。需要注意的是,转换后 Tensor 的数据类型和 NumPy 数组默认一致。

  1. import numpy as np
  2. numpy_array = np.array([1, 2, 3, 4])
  3. tensor3 = torch.from_numpy(numpy_array)

3. 使用 torch.rand()torch.randn() 函数创建随机 Tensor
如果你需要创建一个随机初始化的 Tensor,可以使用 torch.rand()torch.randn() 函数。前者会生成均匀分布的随机数,后者会生成标准正态分布的随机数。

  1. # 生成一个形状为 (4, 2) 的均匀分布随机 Tensor
  2. tensor4 = torch.rand(4, 2)
  3. # 生成一个形状为 (4, 2) 的标准正态分布随机 Tensor
  4. tensor5 = torch.randn(4, 2)

4. 使用 torch.empty()torch.empty_like() 函数创建空 Tensor
如果你需要创建一个空的 Tensor,可以使用 torch.empty()torch.empty_like() 函数。前者会创建一个指定形状和数据类型的空 Tensor,后者则会创建一个与给定 Tensor 形状和数据类型都相同的空 Tensor。

  1. # 创建一个形状为 (4, 2) 的空 Tensor,数据类型为 float32
  2. tensor6 = torch.empty((4, 2), dtype=torch.float32)
  3. # 创建一个与 tensor4 形状和数据类型相同的空 Tensor
  4. tensor7 = torch.empty_like(tensor4)

以上就是在 PyTorch 中创建 Tensor 的几种常见方法。请注意,在创建 Tensor 时,我们通常需要指定其形状和数据类型。在 PyTorch 中,Tensor 的形状是一个描述每个维度大小的元组,而数据类型则是一个枚举类型,例如 torch.float32torch.int64。在深度学习中,选择合适的数据类型和存储方式对于提高计算效率和性能非常重要。因此,建议在创建 Tensor 时仔细考虑其形状和数据类型。