网站转换率,英文站 wordpress,网站的后缀名,wordpress 瑜伽课程文章目录 一、view() 或 reshape()二、unsqueeze()三、squeeze()四、transpose()五、torch.expand_dims 一、view() 或 reshape() view() 或 reshape(): 这两个函数可以用于改变张量的形状#xff0c;但保持元素总数不变。它们可以接受一个新的形状作为参数#xff0c;并返回… 文章目录 一、view() 或 reshape()二、unsqueeze()三、squeeze()四、transpose()五、torch.expand_dims 一、view() 或 reshape() view() 或 reshape(): 这两个函数可以用于改变张量的形状但保持元素总数不变。它们可以接受一个新的形状作为参数并返回一个新的张量。例如
import torchx torch.randn(2, 3, 4) # 创建一个形状为 [2, 3, 4] 的张量x_viewed x.view(2, 12) # 改变形状为 [2, 12]
x_reshaped x.reshape(6, 4) # 改变形状为 [6, 4]二、unsqueeze() unsqueeze(): 这个函数可以在指定位置插入一个新的维度。它接受一个整数作为参数表示要插入的位置。例如
import torchx torch.randn(3, 4) # 创建一个形状为 [3, 4] 的张量x.unsqueeze(0) # 在第 0 个位置插入一个新的维度形状变为 [1, 3, 4]
x.unsqueeze(1) # 在第 1 个位置插入一个新的维度形状变为 [3, 1, 4]import torchx torch.randn(2, 3) # 创建一个形状为 [2, 3] 的张量x_unsqueezed torch.unsqueeze(x, dim0) # 在第 0 个位置插入一个新的维度形状变为 [1, 2, 3]三、squeeze() squeeze(): 这个函数可以删除维度为 1 的维度。它会返回一个新的张量其中已删除了所有维度为 1 的维度。例如
import torchx torch.randn(1, 3, 1, 4) # 创建一个形状为 [1, 3, 1, 4] 的张量x.squeeze() # 删除所有维度为 1 的维度形状变为 [3, 4]四、transpose() transpose(): 这个函数可以交换张量的维度顺序。它接受两个整数作为参数表示要交换的维度的位置。例如
import torchx torch.randn(2, 3) # 创建一个形状为 [2, 3] 的张量x.transpose(0, 1) # 交换维度 0 和维度 1 的位置形状变为 [3, 2]五、torch.expand_dims torch.expand_dims(input, dim): 这个函数接受一个张量 input 和一个整数 dim表示要在 dim 位置插入一个新的维度。它会返回一个新的张量其中插入了一个维度。例如
import torchx torch.randn(2, 3) # 创建一个形状为 [2, 3] 的张量x_expanded torch.expand_dims(x, dim1) # 在第 1 个位置插入一个新的维度形状变为 [2, 1, 3]