Tensors
Tensors 是一个特殊的数据结构,非常类似于数组和矩阵,在 PyTorch 中,我们使用 tensors 编码模型的输入和输出,以及模型的参数。
Tensors 非常类似于 NumPy 的 ndarrays, tensors 可以运行在 GPU 以及其他硬件加速器上,tensors 还可以与 NumPy 还可以共享底层内存,消除复制数据的需要(见 Bridge with NumPy ) ,Tensors 也为自动微分进行了优化 ( 见Autograd )
如果熟悉 ndarrays ,可以直接看 Tensor 的 API, 否则继续。
Initializing a Tensor ( 初始化 Tensor
)
直接从数据
Tensors 可以直接从数据创建,数据的类型自动推理到输入中。
import numpy as np
import torch
data = [[1, 2], [3, 4]]
x_data = torch.tensor(data)
x_data
从 NumPy 数据
Tensors 可以从 NumPy 的 array 创建 ( Bridge with NumPy )
np_array = np.array(data)
x_np = torch.from_numpy(np_array)
x_np
从其他 Tensor
新的 Tensor 保留了参数 Tensor 的属性(形状,数据类型),除非显式重写
# 保留了数据类型和形状
x_ones = torch.ones_like(x_data)
print(f"Ones Tensor: \n{x_ones}")
# 显式重写 数据类型
x_rand = torch.rand_like(x_data, dtype=torch.float)
print(f"Random Tensor: \n{x_rand}")
根据形状创建随机值和常量值的 Tensor
shape = (2, 3, )
rand_tensor = torch.rand(shape)
ones_tensor = torch.ones(shape)
zeros_tensor = torch.zeros(shape)
print(f"Random Tensor: \n {rand_tensor}")
print(f"Ones Tensor: \n {ones_tensor}")
print(f"Zeros Tensor: \n {zeros_tensor}")
Tensors(张量)是在数学和机器学习中广泛使用的一种数据结构,张量是许多深度学习和机器学习模型的基本数据结构,能够有效地表示和处理高维数据。了解和掌握张量的基础知识对于进行数据处理、特征提取和模型训练至关重要。
Lnton羚通是专注于音视频算法、算力、云平台的高科技人工智能企业。 公司基于视频分析技术、视频智能传输技术、远程监测技术以及智能语音融合技术等, 拥有多款可支持ONVIF、RTSP、GB/T28181等多协议、多路数的音视频智能分析服务器/云平台。