pytorch学习过程中一些基础语法

1、tensor.view()函数,通俗理解就是reshape,#参数这里的-1需要注意,可以根据原张量size自行计算

data1=torch.randn((4,2))
data2=data1.view(2,4)
data3=data2.view(-1,8)

2、tensor.max()函数,在分类问题中,通常需要使用max()函数对softmax函数的输出值进行操作,求出预测值索引,然后与标签进行比对,计算准确率。
output = torch.max(input, dim)
输入:
input是一个tensor
dim是max函数索引的维度0/1,0是每列的最大值,1是每行的最大值
输出:
函数会返回两个tensor,第一个tensor是每行/列的最大值;第二个tensor是每行/列最大值的索引。
3、tensor equal 张量比较
equal:比较两个张量是否相等–相等返回:True; 否则返回:False
eq:比较两个张量tensor中,每一个对应位置上元素是否相等–对应位置相等,就返回一个True;否则返回一个False.
eq_:比较两个张量tensor中,每一个对应位置上元素是否相等–对应位置相等,就返回一个1;否则返回一个0. 并替换原张量

x = torch.tensor([1, 3, 5])
y = torch.tensor([1, 3, 7])
print(x.equal(y))
print(x.eq(y))
print(x.eq_(y))
print(x)
#输出
#False
#tensor([ True,  True, False])
#tensor([1, 1, 0])
#tensor([1, 1, 0])

4、tensor.squeeze()和tensor.unsqueeze()函数
tensor.unsqueeze(z),就是指在原有维度的x前面再加一个维度。就是扩充(维度增加,升维)
tensor.squeeze(z),就是指在维度为x的位置前减少一个维度。就是压缩(维度减少,降维)
只有某个维度是1,这个维度才能被压缩

import torch
data=torch.randn((3,4))
print(data.size())
data_up=data.unsqueeze(0)
print(data_up.size())
data_down=data_up.squeeze(0)
print(data_down.size())
#输出
#torch.Size([3, 4])
#torch.Size([1, 3, 4])
#torch.Size([3, 4])

你可能感兴趣的:(python,ptorch,深度学习)