这是在建立一个随机的某一行为0的矩阵,再将几个矩阵合在一起使用了
使用if else和newaxis就可以很好的解决这个问题
先用if的判断,让mask拥有一个初始的值,此时用newaxis让矩阵增加一维。在else中,用concatenate进行合并即可
for i in range(random_size):
mask_id = random.randint(0, random_num)
one_mask = np.ones([random_num-1, dimension])
zero_mask = np.zeros([1,dimension])
random_mask = np.insert(one_mask, mask_id-1, values=zero_mask, axis=0)
# print(random_mask)
if i == 0:
mask = random_mask[np.newaxis, :]
else:
random_mask = random_mask[np.newaxis, :]
mask = np.concatenate((mask, random_mask), 0)
mask = torch.tensor(mask)
# print(mask)