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

相关推荐
少说多想勤做34 分钟前
【计算机视觉前沿研究 热点 顶会】ECCV 2024中Mamba有关的论文
人工智能·计算机视觉·目标跟踪·论文笔记·mamba·状态空间模型·eccv
学地理的小胖砸1 小时前
【GEE的Python API】
大数据·开发语言·前端·python·遥感·地图学·地理信息科学
宜向华1 小时前
opencv 实现两个图片的拼接去重功能
人工智能·opencv·计算机视觉
尘心cx2 小时前
抽象类介绍
python
刘好念2 小时前
[Python]使用python统计docx文档字符、单词数
python·office
OpenVINO生态社区2 小时前
【了解ADC差分非线性(DNL)错误】
人工智能
robot_大菜鸟3 小时前
python_openCV_计算图片中的区域的黑色比例
开发语言·python·opencv
醉后才知酒浓3 小时前
图像处理之蒸馏
图像处理·人工智能·深度学习·计算机视觉
AI让世界更懂你3 小时前
漫谈设计模式 [18]:策略模式
python·设计模式·策略模式
这不巧了3 小时前
Faker在pytest中的应用
python·自动化·pytest