def generate_mask_rand(self, mask_pred):
pool_len = mask_pred.shape[2]
sample_num = mask_pred.shape[0]
rand_mask = np.ones((sample_num, 1, pool_len, pool_len))
mask_pixels = pool_len * pool_len
count_drop_neg = self._count_drop_neg
for i in range(sample_num):
rp = np.random.permutation(np.arange(mask_pixels))
rp = rp[0: count_drop_neg]
now_mask = np.ones(mask_pixels)
now_mask[rp] = 0
now_mask = np.reshape(now_mask, (pool_len, pool_len))
rand_mask[i,0,:,:] = np.copy(now_mask)
return rand_mask
评论列表
文章目录