Lnton羚通云算力平台【PyTorch】教程:关于Tensors的基础知识

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等多协议、多路数的音视频智能分析服务器/云平台。

Lnton羚通云算力平台【PyTorch】教程:关于Tensors的基础知识_第1张图片

 

你可能感兴趣的:(算法,pytorch,人工智能,python)