这是在建立一个随机的某一行为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)
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
)