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操作都差不多,就不一一列举了

相关推荐
武子康1 天前
调查研究-195 从 AmEx 支付系统看 Cell-based Architecture:真正的高可用,不是无限重试,而是控制失败边界
人工智能·openai·agent
米小虾1 天前
Prompt Engineering —— 意图的精确表达
人工智能·agent
荣码1 天前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
IT_陈寒1 天前
React状态更新总是慢半拍?你可能忘了这个默认行为
前端·人工智能·后端
aneasystone本尊1 天前
学习 turbovec 的混合检索与框架集成
人工智能
火山引擎开发者社区1 天前
火山AgentPlan/CodingPlan同步上线GLM-5.2
人工智能
冬奇Lab1 天前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源
冬奇Lab1 天前
每日一个开源项目(第141篇):hiring-agent - HackerRank 开源了他们的简历评分系统,你的简历能得几分?
人工智能·面试·开源
甲维斯1 天前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发