火炬堆产生错误的尺寸

时间:2020-05-18 22:45:53

标签: pytorch

我对pytorch相当陌生,我正在尝试在数据加载器中创建数据,我的代码如下所示:

a=[]
.. within a for loop
self.a.append(torch.stack([b[ith_idx][j], \
b[ith_idx][rnd_dist], \
b[rnd_cls_idx][rnd_dist_rnd_cls]]\
))
self.c.append([1,0])

其中,b是张量的python列表。例如,b的第一个元素的形状为torch.Size([46, 3, 512, 512])(3个通道512 x 512)。

        self.a = torch.stack(self.a)
        self.c = torch.tensor(self.c)

,我注意到[500,3,3,512,512]a的形状分别为b和[500,2],而我期望500,3,3,512,512500为张量形状。

关于为什么会发生这种情况的任何指针都是有帮助的。

1 个答案:

答案 0 :(得分:0)

library(data.table) qxts <- as.xts(as.data.table(q)) 的形状为c,因为您要向循环内的[500, 2]附加两个值的列表,每次[1,0]。如果您反复添加c1,那么将有0个元素的列表。

例如,您可以随机添加5001,如下所示:

0

self.c.append(np.random.randint(2))  # import numpy as np
相关问题