ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pytorch张量

2022-01-29 21:30:00  阅读:162  来源: 互联网

标签:torch 28 张量 shape 维度 pytorch print Size


import torch
a=torch.randn(2,3)#随机生成2行3列的矩阵,默认torch.FloatTensor类型
print(a)
print(a.type())
print(a.shape)

输出

tensor([[ 0.8583,  0.0906, -1.2922],
        [-0.6729, -0.6208, -1.0874]])
torch.FloatTensor
torch.Size([2, 3])

import cv2
a=torch.rand(1,2,3)#生成1页2行3列的3维张量,数值[0,1]随机均匀生成
print(a)
print(a.type())
print(a.shape)

输出

tensor([[[0.2478, 0.3851, 0.9504],
         [0.8396, 0.1004, 0.4696]]])
torch.FloatTensor
torch.Size([1, 2, 3])

创建tensor:

a=torch.tensor(列表(标量))

区别于a=torch.Tensor(2,3),创建一个shape为2行3列的未初始化的tensor

a=torch.rand()

a=torch.randn()

a=torch.full([2,3],7) 创建一个2行3列值全为7的tensor

torch.linespace/logspace线性等分/对数等分

 

索引与切片

lst[start:stop:step] 列表的切片

lst[index] 列表的索引

import torch
a=torch.rand(4,3,28,28)
print(a[0].shape)
print(a[0,0].shape)
print(a[0,0,0,0])#索引
print(a[0:2,:,:3,:].shape)#切片

输出 

torch.Size([3, 28, 28])
torch.Size([28, 28])
tensor(0.4941)
torch.Size([2, 3, 3, 28])
print(a.index_select(2,torch.arange(8)).shape)
(4,3,28,28)对应索引0,1,2,3,取第三维度索引0-7

torch.Size([4, 3, 8, 28]

维度变化

import torch
a=torch.rand(4,3,28,28)
print(a.shape)
print(a.unsqueeze(0).shape)#在第一个维度之前增加一个维度
print(a.unsqueeze(0).squeeze(0).shape)#增加一个维度再挤压掉一个维度,只能挤压1所在的维度
print(a.view(4,2352).shape)#2352=3*28*28
b=torch.rand(1,32,1,1)
print(b.expand(4,32,28,56).shape)#不断复制首元素改变shape便于运算,只能改变1所在的维度

输出

torch.Size([4, 3, 28, 28])
torch.Size([1, 4, 3, 28, 28])
torch.Size([4, 3, 28, 28])
torch.Size([4, 2352])
torch.Size([4, 32, 28, 56])

 

c=torch.rand(4,3,28,28)
print(c.transpose(1,3).shape)#按索引交换两个维度
print(c.permute(0,2,3,1).shape)#按索引对维度重新排序

输出

torch.Size([4, 28, 28, 3])
torch.Size([4, 28, 28, 3])

标签:torch,28,张量,shape,维度,pytorch,print,Size
来源: https://blog.csdn.net/dying_star/article/details/122739417

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有