Beispiel #1
0
    def reconstruction(self, volatile=True):

        # volatile : no back gradient.
        self.x = Variable(self.input, volatile=volatile)
        # Before call self.decoder, normal_z must be set.

        self.reconstruct_x = Variable(self.input, volatile=volatile)
        # import numpy as np
        # print(np.shape(self.x))
        for xx in range(2):
            for ii in range(3):
                for jj in range(32):
                    for kk in range(16):
                        self.reconstruct_x[xx, ii, jj, kk] = self.x[xx, ii, jj, kk]
        for i in range(20):
            self.z = self.encoder(self.reconstruct_x)
            self.reconstruct_x = self.decoder(self.z)
            for xx in range(2):
                for ii in range(3):
                    for jj in range(32):
                        for kk in range(16):
                            self.reconstruct_x[xx, ii, jj, kk] = self.x[xx, ii, jj, kk]

        reconstruct_x = tensor2im(self.reconstruct_x.data, sample_single_image=False)
        real_x = tensor2im(self.input.data, sample_single_image=False)
        return OrderedDict([('real_x', real_x), ('reconstruct_x', reconstruct_x)])
Beispiel #2
0
    def get_infervisuals(self, infernum, sample_single_image=True):
        # volatile : no back gradient.
        self.x = Variable(self.input, volatile=True)

        self.infer_x = Variable(self.input, volatile=True)
        for i in range(infernum):
            print(i)
            self.infer_z = self.encoder(self.infer_x)
            self.infer_x = self.decoder(self.infer_z)
        self.sampled_z = self.encoder(self.infer_x)

        # ------------------------------
        infer_x = tensor2im(self.infer_x.data, sample_single_image=sample_single_image)
        real_x = tensor2im(self.x.data, sample_single_image=sample_single_image)
        return OrderedDict([('real_x', real_x), ('infer_x', infer_x)])
Beispiel #3
0
 def reconstruction(self, volatile=True):
     # volatile : no back gradient.
     self.x = Variable(self.input, volatile=volatile)
     self.reconstruct_x = Variable(self.input, volatile=volatile)
     for i in range(self.sampling_count):# sampling_count=20
         self.z = self.encoder(self.reconstruct_x)
         self.reconstruct_x = self.decoder(self.z)
         for xx in range(self.batch_size):
             for ii in range(3):
                 for jj in range(32):
                     for kk in range(16):
                         self.reconstruct_x[xx, ii, jj, kk] = self.x[xx, ii, jj, kk]
     reconstruct_x = tensor2im(self.reconstruct_x.data, sample_single_image=False)
     real_x = tensor2im(self.input.data, sample_single_image=False)
     return OrderedDict([('real_x', real_x), ('reconstruct_x', reconstruct_x)])
Beispiel #4
0
def save_images(webpage, visuals, image_path, aspect_ratio=1.0, width=256):
    """Save images to the disk.

    Parameters:
        webpage (the HTML class) -- the HTML webpage class that stores these imaegs (see html.py for more details)
        visuals (OrderedDict)    -- an ordered dictionary that stores (name, images (either tensor or numpy) ) pairs
        image_path (str)         -- the string is used to create image paths
        aspect_ratio (float)     -- the aspect ratio of saved images
        width (int)              -- the images will be resized to width x width

    This function will save images stored in 'visuals' to the HTML file specified by 'webpage'.
    """
    image_dir = webpage.get_image_dir()
    short_path = ntpath.basename(image_path[0])
    name = os.path.splitext(short_path)[0]

    webpage.add_header(name)
    ims, txts, links = [], [], []

    for label, im_data in visuals.items():
        im = util.tensor2im(im_data)
        image_name = '%s_%s.png' % (name, label)
        save_path = os.path.join(image_dir, image_name)
        util.save_image(im, save_path, aspect_ratio=aspect_ratio)
        ims.append(image_name)
        txts.append(label)
        links.append(image_name)
    webpage.add_images(ims, txts, links, width=width)
Beispiel #5
0
 def get_current_visuals(self):
     input_B1 = utils.tensor2im(self.input_B1)
     input_B2 = utils.tensor2im(self.input_B2)
     output_B1_S = utils.tensor2im(self.output['B1_S'])
     output_B1_E = utils.tensor2im(self.output['B1_E'])
     output_B2_S = utils.tensor2im(self.output['B2_S'])
     output_B2_E = utils.tensor2im(self.output['B2_E'])
     return OrderedDict([('B1',input_B1),('B2',input_B2),('B1_S',output_B1_S),
                         ('B1_E',output_B1_E),('B2_S',output_B2_S),('B2_E',output_B2_E)])
 def save_test_images(self, idx):
     save_image(tensor2im(self.real_A),
                self.opt.img_save_path + f"/img_{idx:04d}_real_A.png")
     save_image(tensor2im(self.rec_A),
                self.opt.img_save_path + f"/img_{idx:04d}_rec_A.png")
     save_image(tensor2im(self.fake_B),
                self.opt.img_save_path + f"/img_{idx:04d}_trans_A2B.png")
     save_image(tensor2im(self.real_B),
                self.opt.img_save_path + f"/img_{idx:04d}_real_B.png")
     save_image(tensor2im(self.rec_B),
                self.opt.img_save_path + f"/img_{idx:04d}_rec_B.png")
     save_image(tensor2im(self.fake_A),
                self.opt.img_save_path + f"/img_{idx:04d}_trans_B2A.png")
 def save_train_images(self, epoch):
     save_image(tensor2im(self.real_A),
                self.opt.img_save_path + f"/real_A_epoch_{epoch}.png")
     save_image(tensor2im(self.real_B),
                self.opt.img_save_path + f"/real_B_epoch_{epoch}.png")
     save_image(tensor2im(self.rec_A),
                self.opt.img_save_path + f"/rec_A_epoch_{epoch}.png")
     save_image(tensor2im(self.rec_B),
                self.opt.img_save_path + f"/rec_B_epoch_{epoch}.png")
     save_image(tensor2im(self.idt_A),
                self.opt.img_save_path + f"/idt_A_epoch_{epoch}.png")
     save_image(tensor2im(self.idt_B),
                self.opt.img_save_path + f"/idt_B_epoch_{epoch}.png")
Beispiel #8
0
 def get_current_visuals(self):
     inp_img = util.tensor2im(self.input, 'img')
     target_img = util.tensor2im(self.target, 'lbl')
     seg_img = util.tensor2im(self.pred_seg, 'lbl')
     return OrderedDict([('out_S', seg_img), ('inp_S', inp_img),
                         ('target_S', target_img)])
Beispiel #9
0
 def get_visuals(self, sample_single_image=True):
     fake_x = tensor2im(self.sampled_x.data, sample_single_image=sample_single_image)
     real_x = tensor2im(self.x.data, sample_single_image=sample_single_image)
     return OrderedDict([('real_x', real_x), ('fake_x', fake_x)])
 def get_visuals(self, sample_single_image=True):
     image_input = tensor2im(self.input, sample_single_image=sample_single_image)
     return OrderedDict([('input', image_input)])
Beispiel #11
0
 def get_visuals(self, sample_single_image=True):
     fake_x = tensor2im(self.sampled_x.data, sample_single_image=sample_single_image)
     real_x = tensor2im(self.x.data, sample_single_image=sample_single_image)
     return OrderedDict([('real_x', real_x), ('fake_x', fake_x)])