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 分钟前
AI原生重构医疗新范式|博鳌超级AI医院亮相消博会,悦尔APP+SupMed超超解锁全民智慧健康
人工智能·重构·健康医疗·ai-native
A_QXBlms7 分钟前
企微工具对比:用API打通AI私域客服自动回复(实测3款工具)
人工智能·企业微信
曲幽8 分钟前
我用fastapi-scaff搭了个项目,两天工期缩到两小时,老板以为我开挂了
python·api·fastapi·web·celery·cli·db·alembic·fastapi-scaff
半点闲10 分钟前
入门 SQLAlchemy 教程:从 0 到 1 创建数据库
数据库·python·sqlite·sqlalchemy
好家伙VCC14 分钟前
# 发散创新:基于事件驱动架构的实时日志监控系统设计与实现在现代分布式系统中,**事件驱动编程模型**正
java·python·架构
测试199816 分钟前
postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
SuniaWang17 分钟前
Java 17实战:Record与密封类的黄金搭档
java·开发语言·python
时光不写代码18 分钟前
修复 pytest-asyncio 事件循环冲突:完整解决方案
python·pytest·fastapi
2401_8274999919 分钟前
python项目实战10-网络机器人03
开发语言·python·php
wenzhangli721 分钟前
从零开始的 SPAC 编程构建 BPM 设计器实战
人工智能