def save_result(self, epoch=None): for w in range(len(self.pose)): for i, syn_img in enumerate(self.syn_image[w].data): if self.is_Train: if i == self.batchsize[w]: img = self.image[w].data[-1] filename = 'mixed_' + self.name[w][-1] else: img = self.image[w].data[i] filename = self.name[w][i] else: if i == self.batchsize[w]: if not self.frontal_image[w].size() == torch.Size( [3, 96, 96]): img = self.frontal_image[w].data[0] else: img = self.frontal_image[w].data filename = 'mixed_' + self.frontal_name[w][0] else: img = self.profile_image[w].data[i] filename = self.profile_name[w][i] if epoch: filename = 'epoch{0}_{1}'.format(epoch, filename) path = os.path.join(self.result_dir, filename) img = Tensor2Image(img) syn_img = Tensor2Image(syn_img) width, height = img.size result_img = Image.new(img.mode, (width * 2, height)) result_img.paste(img, (0, 0, width, height)) result_img.paste(syn_img, box=(width, 0)) result_img.save(path)
def save_result(self, epoch=None): for i, syn_img in enumerate(self.syn_image.data): img = self.image.data[i] filename = self.name[i] if epoch: filename = 'epoch{0}_{1}'.format(epoch, filename) path = os.path.join(self.result_dir, filename) img = Tensor2Image(img) syn_img = Tensor2Image(syn_img) width, height = img.size result_img = Image.new(img.mode, (width * 2, height)) result_img.paste(img, (0, 0, width, height)) result_img.paste(syn_img, box=(width, 0)) result_img.save(path)