Pytorch入门——Tensor的基本操作

*前序知识:Python的基本语法、操作和控制结构;库函数的基本使用方法。
*本文将在给出中文名称的同时,附上英文词汇。
*所有英文缩写将在第一次出现时注明。
*Package version:Python==3.8.20;pyorch==2.4.1;numpy==1.24.4。

Pytorch是深度学习中常用的库之一。从本文开始,博主计划用一个专栏来更新有关Pytorch的基本操作。作为自己的笔记以便查阅的同时,也希望给初入人工智能领域的萌新们一些帮助~

注:当开始使用深度学习的框架时,建议使用anaconda新建虚拟环境,以免出现不同库之间的、相同库不同版本间的兼容问题。anaconda安装环境的教程优快云上比较多,这里就不作赘述了。

Tensor 简介

 在PyTorch中,张量(Tensor)是一个基本的数据结构。

  1. N维数组:Tensor是一个多维数组(类似于 NumPy 数组)。一个 Tensor可以是向量(1D)、矩阵(2D)、高维数组(3D 等)。
  2. 支持自动求导:Tensor是PyTorch中构建神经网络的基本元素,具有自动求导的能力,可以帮助计算梯度。
  3. GPU 加速:Tensor支持在 GPU 上进行计算(CUDA)。

 接下来,我们将基于具体的代码,分别讨论Pytorch中Tensor的主要操作。

示例(Coding)

导入Pytorch和Numpy库

  同时导入numpy,并不是因为二者存在直接依赖,而是因为torch中的tensor数据结构与numpy可以互相转换。

import torch
import numpy as np

Tensor数据结构的创建

列表(List)转换为Tensor
# 创建一个列表 (list)
data_01 = [[1,2],[3,4]]

# 将列表转换为张量 (tensor)
x_tensor_01 = torch.tensor(data_01)

print(x_tensor_01)

程序输出:
在这里插入图片描述

numpy数组转换为Tensor
data_02 = [[5,6],[7,8]]

# 将列表转换为numpy数组 (numpy array)
x_numpy = np.array(data_02)

# 将numpy数组转换为张量 (tensor)
x_tensor_02 = torch.from_numpy(x_numpy)

print(f"n: {
     x_numpy}")
print(f"t: {
     x_tensor_02}")

程序输出:
在这里插入图片描述

numpy数组与Tensor的同时改变
data_02 = [[5,6],[7,8]]

# 将列表转换为numpy数组 (numpy array)
x_numpy = np.array(data_02)

# 将numpy数组转换为张量 (tensor)
x_tensor_02 = torch.from_numpy(x_numpy)

# 改变numpy数组的内容
np.add(x_numpy, 1, out=x_numpy)

# 因为x_tensor_02使用torch.from_numpy(),因此numpy的改变也会映射到张量上
print(f"n: {
     x_numpy}")
print(f"t: {
     x_tensor_02}"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值