如何将张量列表合并为一个张量?
我有一个包含 64 张图像(128x128,RGB)的列表,我想创建一批具有以下尺寸的图像:torch.Size([64, 3, 128, 128])
我尝试使用 torch.stack()
,但如果不进行迭代就无法获取列表的所有元素。
我该怎么做?
lfw_dataset = ImageFolder(os.path.join(root_dir), transform=test_transform)
lfw_dataset_train, lfw_dataset_val = torch.utils.data.random_split(lfw_dataset_train1, [train_values, validation_values])
train_loader = DataLoader(lfw_dataset_train, batch_size, num_workers=4, shuffle=True)
val_loader = DataLoader(lfw_dataset_val, batch_size, num_workers=4, shuffle=False)
# Define dictionary of loaders
loaders = {"train": train_loader,
"val": val_loader}
positive_list= []
negative_list= []
positive_img = []
negative_img = []
for i, (input, labels) in enumerate(loaders["train"]):
for num, x in enumerate(labels):
target = x.item()
k = [i for i, (imgs, label_pos) in enumerate(lfw_dataset.imgs) if label_pos==target]
group_pos = (target, k)
positive_list.append(group_pos)
for i, (imgs, label_neg) in enumerate(lfw_dataset.imgs):
if label_neg!=target:
j = [i]
break
group_neg = (target, j)
negative_list.append(group_neg)
anchor_img=input[num]
positive = random.choice(positive_list[num][1])
negative = random.choice(negative_list[num][1])
positive_img.append(lfw_dataset[positive][0])
negative_img.append(lfw_dataset[negative][0])
答案 0 :(得分:0)
你必须使用 torch.cat(input1, input2, dim)