首页 > 解决方案 > 如何使大小为 [64, 3, 128, 128] 和 [64, 64, 127, 127] 的两个张量的维度相等

问题描述

我正在尝试在 pytorch[64, 64, 127, 127][64, 3, 127, 127]pytorch 中添加两个维度的张量,但我需要在第二个张量中添加零,以便将它们的维度等同于[64, 64, 127, 127].

我尝试通过切片添加零,但它并不健壮

标签: pythonnumpymachine-learningpytorchtensor

解决方案


第一个很容易可视化:

import torch
zeros = torch.zeros(2, 2, 2, 10)
ones = torch.ones(2, 2, 2, 5)

zeros[:, :, :, :5] = ones
print(ones)
print(zeros)

第二个是您需要的(零和一仅用于我的测试)

ones = torch.ones(64, 3, 127, 127)
zeros = torch.zeros(64, 61, 127, 127)
zeros[:, :3, :, :] = ones

或者使用这样cat()简单的函数:

torch.cat((ones, zeros), 1)

推荐阅读