Ejemplo n.º 1
0
 def make_img(self, x, l, s, num_lm, random=0):
     if random == 0:
         lm = Variable(xp.clip(l.data, 0, 1))
         sm = Variable(xp.clip(s.data, 0.1, 1))
     else:
         eps = xp.random.normal(0, 1, size=l.data.shape).astype(xp.float32)
         epss = xp.random.normal(0, 1, size=s.data.shape).astype(xp.float32)
         sm = xp.clip((s.data + xp.sqrt(self.var) * epss), 0.1,
                      1).astype(xp.float32)
         lm = xp.clip(l.data + eps * xp.sqrt(self.vars), 0, 1)
         sm = Variable(sm)
         lm = Variable(lm.astype(xp.float32))
     sm = Variable(xp.log10(sm.data) + 1)
     if self.use_gpu:
         xm = make_sampled_image.generate_xm_rgb_gpu(lm.data,
                                                     sm.data,
                                                     x,
                                                     num_lm,
                                                     g_size=self.gsize)
     else:
         xm = make_sampled_image.generate_xm_rgb(lm.data,
                                                 sm.data,
                                                 x,
                                                 num_lm,
                                                 g_size=self.gsize)
     return xm, lm, sm
Ejemplo n.º 2
0
 def s1_determin(self, x, t, l1, s1):
     self.reset()
     num_lm = x.data.shape[0]
     s1 = xp.log10(s1 + 0.001) + 1
     self.first_forward(x, num_lm)
     xm, lm, sm = self.make_img(x, Variable(l1), Variable(s1), num_lm, random=0)
     l1, s1, y, b = self.recurrent_forward(xm, lm, sm)
     accuracy = y.data * t.data
     return xp.sum(accuracy)
Ejemplo n.º 3
0
 def s2_determin(self, x, t, l_list, s_list):
     self.reset()
     num_lm = x.data.shape[0]
     s_list = xp.log10(s_list + 0.001) + 1
     self.first_forward(x, num_lm)
     xm, lm, sm = self.make_img(x, Variable(l_list[0]), Variable(s_list[0]), num_lm, random=0)
     self.recurrent_forward(xm, lm, sm)
     xm, lm, sm = self.make_img(x, Variable(l_list[1]), Variable(s_list[1]), num_lm, random=0)
     l1, s1, y, b = self.recurrent_forward(xm, lm, sm)
     accuracy = y.data * t.data
     class_l = xp.argmax(y.data, axis=1)
     return xp.sum(accuracy), class_l
Ejemplo n.º 4
0
    def make_img(self, x, l, num_lm, random=0):
        s = xp.log10(xp.ones((1, 1)) * self.gsize / self.img_size) + 1
        sm = xp.repeat(s, num_lm, axis=0)

        if random == 0:
            lm = Variable(xp.clip(l.data, 0, 1))
        else:
            eps = xp.random.normal(0, 1, size=l.data.shape).astype(xp.float32)
            lm = xp.clip(l.data + eps * xp.sqrt(self.vars), 0, 1)
            lm = Variable(lm.astype(xp.float32))
        if self.use_gpu:
            xm = make_sampled_image.generate_xm_rgb_gpu(lm.data, sm, x, num_lm, g_size=self.gsize)
        else:
            xm = make_sampled_image.generate_xm_rgb(lm.data, sm, x, num_lm, g_size=self.gsize)
        return xm, lm