一、unset函数
1、unset函数是对一个Tensor进行操作,操作的结果是将该Tensor指定位置的元素的值设置为默认值0。
import torch x = torch.tensor([[1, 2], [3, 4]]) x[0, 1] = torch.tensor(0) print(x)
结果为:
tensor([[1, 0], [3, 4]])
2、在unsqueeze函数中,如果在指定维度上执行unset操作,那么该位置为0,该位置前面的维度值不变,后面的维度需要加1。
import torch x = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) x = torch.unset(x, 1) print(x)
结果为:
tensor([[[0, 0], [0, 0]], [[0, 0], [0, 0]]])
二、squeeze函数是什么意思
1、squeeze函数是对Tensor进行操作,操作的结果是删除维数为1的维度。
import torch x = torch.tensor([[[1, 2], [3, 4]]]) x = torch.squeeze(x) print(x.size())
结果为:
torch.Size([2, 2])
2、在unsqueeze函数中,如果在指定维度上执行squeeze操作,那么该位置的维度被删除,该位置前面和后面的维度不变。
import torch x = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) x = torch.squeeze(x, 1) print(x.size())
结果为:
torch.Size([2, 2, 2])
三、uniform函数是什么函数
1、uniform函数是用来生成指定大小的随机数Tensor,随机数取值在[0, 1)之间。
import torch x = torch.empty(3, 3) x = torch.nn.init.uniform_(x) print(x)
结果为:
tensor([[0.3481, 0.9646, 0.2879], [0.4404, 0.3296, 0.6972], [0.9313, 0.3676, 0.4409]])
2、在unsqueeze函数中,如果在指定维度上执行uniform操作,那么该位置的维度上的元素值取随机数[0, 1),该位置前面和后面的维度不变。
import torch x = torch.ones(2, 3, 4) x = torch.nn.init.uniform_(x[:, 0, :], 0, 1) print(x)
结果为:
tensor([[0.5948, 0.4088, 0.1028, 0.9948], [0.5948, 0.4088, 0.1028, 0.9948]])
四、unsignedchar函数是什么函数
1、unsignedchar函数是将Tensor的数据类型设置为uint8。
import torch x = torch.tensor([[-1, 2], [3, 4]]) x = x.type(torch.uint8) print(x)
结果为:
tensor([[255, 2], [ 3, 4]], dtype=torch.uint8)
2、在unsqueeze函数中,如果在指定位置上执行unsignedchar操作,那么该位置的数据类型变为uint8,该位置前面和后面的维度不变。
import torch x = torch.tensor([[1.0, 2.0], [3.0, 4.0]]) x = x.unsqueeze(1) x = x.type(torch.uint8) print(x)
结果为:
tensor([[[1, 2]], [[3, 4]]], dtype=torch.uint8)