pytorch的入门使用

pytorch安装略!

一.张量Tensor

张量是一个统称其中包含0阶,1阶,2阶,3阶,4阶,.......n阶。

0阶:标量,常数,0-D Tensor

1阶:向量,1-D Tensor

2阶:矩阵,2-D Tensor

一直增加维度

二.Pytorch中创建张量

1.列表或者序列创建tensor

python 复制代码
import torch

torch.tensor([[1., -1.], [1.,-1.]])

torch.tensor([[ 1.0000, -1.0000],
        [ 1.0000, -1.0000]])

2.numpy中的数组创建tensor

python 复制代码
torch.tensor(np.array([[1,2,3],[4,5,6]]))

3.使用pytorch中的api创建

python 复制代码
# 创建一个三行四列的无用数据tensor
torch.empty(3,4)

# 创建一个三行四列的全为1的tensor
torch.ones(3,4)

# 创建一个三行四列的值全部在0-1之间的tensor
torch.rand(3,4)

# 创建一个三行四列的指定随机数的tensor
torch.randint(low=0,high=100,size=[3,4])

# 创建一个三行四列均值为0方差为1的tensor
torch.randn(3,4)

三.Pytorch中tensor的常用方法

1.获取数据

python 复制代码
a=torch.tensor(1)

# 如果不使用item方法,那么结果是tensor([1])

a.item()
# 输出结果为1

2.numpy数组和tensor互转

python 复制代码
a=torch.tensor([[1],[2],[3]])

# 之间使用.numpy就可以了

a.numpy()

# 如果a是numpy数组,那么就使用上面的创建方法
a=torch.tensor(a)

3.获取形状

python 复制代码
a=torch.tensor([[1],[2],[3]])
a.size()
# 返回形式为:tensor.Size([3,1])

4.改变形状

python 复制代码
a=torch.tensor([[1],
                [2],
                [3]])
b=a.view(1,3)

# 输出b就为:tensor([[1,2,3]])

5获取阶数

python 复制代码
tensor.dim()

# 几阶就返回几阶

6.获取最大值

python 复制代码
tensor.max()

7.转置

python 复制代码
tensor.t()

8.指定获取数据

python 复制代码
tensor[1,3]  # 和python列表一样

9.赋值

python 复制代码
tensor[1,3]=5 # 和python列表一样

10.切片

python 复制代码
# tensor[对行切片,对列切片]

#比如tensor[:,1]获取所有行中的第二列数据

四.tensor中的数据类型

上图中的Tensor types表示这种type的tensor是其实例

1.获取数据类型:

python 复制代码
tensor.dtype

2.指定数据类型

python 复制代码
# 创建一个两行三列的数据类型为float32的tensor
torch.ones([2,3],dtype=torch.float32)

修改数据类型

python 复制代码
# 注意这里是type
tensor.type(torch.int)

五.tensor的其他操作

tensor相加

python 复制代码
# 1.直接相加
tensor=tensor+tensor

# 2.add
torch.add(tensor1,tensor2)
tensor1.add(tensor2)

# 3.加常数
tensor+c

其实tensor的加减乘除和numpy操作都差不多,就不一一列举了

相关推荐
独好紫罗兰2 分钟前
对python的再认识-基于数据结构进行-a008-集合-拓展
开发语言·数据结构·python
bylander3 分钟前
【AI学习】华为AgenticRAN架构调研
人工智能·学习·华为·无线通信·智能体
麟听科技4 分钟前
HarmonyOS 6.0+ 跨端元宇宙社交空间开发实战:3D虚拟形象与分布式交互落地
人工智能·分布式·学习·3d·华为·harmonyos
东坡肘子4 分钟前
Xcode 迈入 Agent 时代 -- 肘子的 Swift 周报 #122
人工智能·swiftui·swift
人工智能培训5 分钟前
深度学习中的梯度消失与梯度爆炸
人工智能·深度学习·逻辑回归·深度强化学习·具身智能·大模型应用工程师·大模型工程师证书
九.九6 分钟前
CANN ops-cv 技术解密:图像处理与目标检测算子的 NPU 硬件加速与性能调优策略
图像处理·人工智能·目标检测
尸僵打怪兽8 分钟前
图像处理OpenCV(一、二)
图像处理·人工智能·opencv
政安晨2 小时前
政安晨【零基础玩转开源AI项目】- AutoGPT:全球首个自主AI Agent从入门到实战(致敬OpenClaw的小回顾)
人工智能·ai·autogpt·全球首个agent框架·致敬openclaw之作·参考价值·ai开源agent框架
Shawn_Shawn7 小时前
mcp学习笔记(一)-mcp核心概念梳理
人工智能·llm·mcp
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python