返回

Pytorch 入门与提高(1):Tensor 的创建与转换

人工智能

导言

在人工智能和深度学习领域,Tensor 是一个至关重要的数据结构。在 Pytorch 这个流行的深度学习框架中,Tensor 是基本的数据操作单元。了解如何有效地创建和转换 Tensor 是掌握 Pytorch 的第一步。

直接从数据创建 Tensor

创建 Tensor 的最直接方式是从数据中创建。Pytorch 支持各种数据类型,包括标量、列表、元组和字典。以下是一些示例:

import torch

# 从标量创建 Tensor
x = torch.tensor(3.14)

# 从列表创建 Tensor
y = torch.tensor([1, 2, 3, 4, 5])

# 从元组创建 Tensor
z = torch.tensor((1, 2, 3, 4, 5))

# 从字典创建 Tensor
data = {"name": "John", "age": 30}
tensor = torch.tensor(data)

从 Numpy 数组转换

Numpy 是一个流行的 Python 科学计算库。您可以通过 torch.from_numpy() 函数轻松地将 Numpy 数组转换为 Tensor。

import numpy as np

# 创建一个 Numpy 数组
numpy_array = np.array([1, 2, 3, 4, 5])

# 将 Numpy 数组转换为 Tensor
tensor = torch.from_numpy(numpy_array)

从 Python 列表转换

除了 Numpy 数组之外,您还可以将 Python 列表转换为 Tensor。使用 torch.tensor() 函数并指定 dtype 参数以指定数据类型。

# 创建一个 Python 列表
python_list = [1, 2, 3, 4, 5]

# 将 Python 列表转换为 Tensor
tensor = torch.tensor(python_list, dtype=torch.float)

Tensor 的属性

创建 Tensor 后,您可以访问其属性,例如形状、数据类型和设备。

# 获取 Tensor 的形状
print(tensor.shape)

# 获取 Tensor 的数据类型
print(tensor.dtype)

# 获取 Tensor 所在的设备
print(tensor.device)

结论

掌握创建和转换 Tensor 的能力是 Pytorch 入门的基石。本文提供了从数据、Numpy 数组和 Python 列表创建 Tensor 的分步指南。通过理解这些基本概念,您可以建立一个坚实的基础,从而进一步探索 Pytorch 的强大功能。