def save_pattern(pattern, mask, y_target): # create result dir if not os.path.exists(RESULT_DIR): os.mkdir(RESULT_DIR) img_filename = ('%s/%s' % (RESULT_DIR, IMG_FILENAME_TEMPLATE % ('pattern', y_target))) #utils_backdoor.dump_image(pattern, img_filename, 'png') #print("before write pattern: ", pattern.shape) pattern = np.transpose(pattern, (1, 2, 0)) * 255. #print("before write after transpose: ", pattern.shape) cv2.imwrite(img_filename, pattern) img_filename = ('%s/%s' % (RESULT_DIR, IMG_FILENAME_TEMPLATE % ('mask', y_target))) #print("before save mask: ", np.expand_dims(mask, axis=2)) # utils_backdoor.dump_image(np.expand_dims(mask, axis=2) * 255, # img_filename, # 'png') mask = np.transpose(mask, (1, 2, 0)) utils_backdoor.dump_image(mask * 255., img_filename, 'png') # fusion = np.multiply(pattern, np.expand_dims(mask, axis=2)) fusion = np.multiply(pattern, mask) img_filename = ('%s/%s' % (RESULT_DIR, IMG_FILENAME_TEMPLATE % ('fusion', y_target))) utils_backdoor.dump_image(fusion, img_filename, 'png') pass
def save_pattern(pattern, mask, y_target): # create result dir if not os.path.exists(RESULT_DIR): os.mkdir(RESULT_DIR) img_filename = ('%s/%s' % (RESULT_DIR, IMG_FILENAME_TEMPLATE % ('pattern', y_target))) utils_backdoor.dump_image(pattern, img_filename, 'png') img_filename = ('%s/%s' % (RESULT_DIR, IMG_FILENAME_TEMPLATE % ('mask', y_target))) if CHANNELS_FIRST: utils_backdoor.dump_image( np.expand_dims(mask, axis=0) * 255, img_filename, 'png') else: utils_backdoor.dump_image( np.expand_dims(mask, axis=2) * 255, img_filename, 'png') if CHANNELS_FIRST: fusion = np.multiply(pattern, np.expand_dims(mask, axis=0)) else: fusion = np.multiply(pattern, np.expand_dims(mask, axis=2)) img_filename = ('%s/%s' % (RESULT_DIR, IMG_FILENAME_TEMPLATE % ('fusion', y_target))) utils_backdoor.dump_image(fusion, img_filename, 'png') pass
def save_tmp_func(self, step): cur_mask = K.eval(self.mask_upsample_tensor) cur_mask = cur_mask[0, ..., 0] img_filename = ('%s/%s' % (self.tmp_dir, 'tmp_mask_step_%d.png' % step)) utils_backdoor.dump_image( np.expand_dims(cur_mask, axis=2) * 255, img_filename, 'png') cur_fusion = K.eval(self.mask_upsample_tensor * self.pattern_raw_tensor) cur_fusion = cur_fusion[0, ...] img_filename = ('%s/%s' % (self.tmp_dir, 'tmp_fusion_step_%d.png' % step)) utils_backdoor.dump_image(cur_fusion, img_filename, 'png') pass