Exemplo n.º 1
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_g2(self):

        depth = 64
        dim = 16
        alpha = 0.2
        channel = 3

        self.G.add(Dense(depth * dim * dim, input_dim=self.noise_size))
        self.G.add(Reshape((dim, dim, depth)))
        MyDCGAN.add_cbl(self.G, depth, 5, 1, 0.2)
        MyDCGAN.add_dbr(self.G, depth, 11, 4)
        MyDCGAN.add_cbl(self.G, int(depth / 2), 4, 1, 0.2)
        MyDCGAN.add_dbr(self.G, int(depth / 2), 7, 4)
        MyDCGAN.add_cbl(self.G, int(depth / 4), 5, 1, 0.2)
        self.G.add(Conv2D(channel, 7, strides=1, padding='same'))
        self.G.summary()
Exemplo n.º 2
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_g1(self):

        depth = 64 * int(np.power(2, 4))
        channel = 3
        dim = 8
        momentum = 0.5

        self.G.add(
            Dense(dim * dim * channel * depth, input_dim=self.noise_size))
        self.G.add(BatchNormalization(momentum=momentum))
        self.G.add(Reshape((dim, dim, channel)))

        for i in range(1, 4):
            MyDCGAN.add_dbr(self.G, int(depth / np.power(2, i)), 4, 2,
                            momentum)

        self.G.add(
            Conv2DTranspose(int(depth / np.power(2, 4)), 4, 2, padding='same'))
        self.G.add(Activation('tanh'))
        self.G.summary()
Exemplo n.º 3
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_d5(self):

        depth = 64
        dim = 4
        channel = 3
        momentum = 0.9
        dropout = 0.4
        alpha = 0.2
        self.D.add(
            Conv2D(depth,
                   11,
                   strides=4,
                   input_shape=self.input_shape,
                   padding='same'))
        self.D.add(LeakyReLU(alpha=alpha))
        self.D.add(Dropout(dropout))
        MyDCGAN.add_cbl(self.D, depth * 2, 11, 4, alpha)
        self.D.add(Dropout(dropout))
        MyDCGAN.add_cbl(self.D, depth * 4, 11, 4, alpha)
        self.D.add(Dropout(dropout))
        MyDCGAN.add_cbl(self.D, depth * 8, 5, 2, alpha)
        self.D.add(Flatten())
        self.D.add(Dropout(dropout))
        self.D.add(Dense(1))
        self.D.add(Activation('sigmoid'))
        self.D.summary()
Exemplo n.º 4
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_d1(self):
        depth = 64
        alpha = 0.2
        channel = 3
        self.D.add(
            Conv2D(depth * channel,
                   4,
                   strides=2,
                   input_shape=(256, 256, 3),
                   padding='same'))
        self.D.add(LeakyReLU(alpha=alpha))
        for i in range(1, 5):
            MyDCGAN.add_cbl(self.D,
                            64 * int(np.power(2, i)) * channel,
                            4,
                            2,
                            alpha=0.2,
                            bn=True)

        self.D.add(Flatten())
        self.D.add(Dense(1))
        self.D.add(Activation('sigmoid'))
        self.D.summary()
Exemplo n.º 5
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def __init__(self,
                 input_shape,
                 model=1,
                 noise_size=100,
                 kdsfromzip=False,
                 batchsize=32,
                 print_term=32,
                 epoch=100,
                 D_optimizer=Adam(lr=0.001),
                 G_optimizer=Adam(lr=0.0005),
                 folder='kianap'):

        self.input_shape = input_shape
        self.D = Sequential()
        self.G = Sequential()
        self.noise_size = noise_size

        if model == 1:
            self.create_d1()
            self.create_g1()
        if model == 2:
            self.create_d2()
            self.create_g2()
        if model == 3:
            self.create_d3()
            self.create_g3()
        if model == 4:
            self.create_d4()
            self.create_g4()
        if model == 5:
            self.create_d5()
            self.create_g5()

        self.kdata = KianaDataSet(img_size=input_shape[0],
                                  load_from_zip=kdsfromzip,
                                  folder=folder)
        self.gan = MyDCGAN(self.noise_size,
                           D=self.D,
                           G=self.G,
                           batchsize=batchsize,
                           print_term=print_term,
                           Dfname='k_d_w.h5',
                           Gfname='k_g_w.h5',
                           epoch=epoch,
                           D_optimizer=D_optimizer,
                           G_optimizer=D_optimizer,
                           img_size=input_shape[0])
        self.gan.img_data = self.kdata.normalized
Exemplo n.º 6
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_g5(self):

        depth = 64 * 8
        dim = 4
        channel = 3
        momentum = 0.9
        dropout = 0.05
        alpha = 0.2

        self.G.add(Dense(dim * dim * depth, input_dim=self.noise_size))
        self.G.add(Reshape((dim, dim, depth)))
        MyDCGAN.add_dbr(self.G, int(depth), 11, 4)
        MyDCGAN.add_dbr(self.G, int(depth / 2), 11, 4)
        MyDCGAN.add_dbr(self.G, int(depth / 4), 5, 2)
        MyDCGAN.add_dbr(self.G, int(depth / 8), 5, 2)
        self.G.add(Conv2D(channel, 4, strides=1, padding='same'))
        self.G.add(Activation('tanh'))
        self.G.summary()
Exemplo n.º 7
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_g3(self):

        depth = 64 * 4
        alpha = 0.2
        channel = 3
        dim = 16
        momentum = 0.8

        self.G.add(Dense(depth * dim * dim, input_dim=self.noise_size))
        self.G.add(BatchNormalization(momentum=momentum))
        self.G.add(Reshape((dim, dim, depth)))
        MyDCGAN.add_dbr(self.G, depth, 7, 2, bn_momentum=momentum)
        MyDCGAN.add_dbr(self.G, int(depth / 2), 7, 2, bn_momentum=momentum)
        MyDCGAN.add_dbr(self.G, int(depth / 4), 7, 2, bn_momentum=momentum)
        self.G.add(Conv2D(3, 2, padding='same'))
        self.G.add(Activation('tanh'))
        self.G.summary()
Exemplo n.º 8
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_d3(self):

        depth = 64
        alpha = 0.2
        channel = 3
        dropout = 0.4

        self.D.add(
            Conv2D(depth, 3, input_shape=self.input_shape, padding='same'))
        self.D.add(LeakyReLU(alpha=alpha))
        MyDCGAN.add_cbl(self.D, depth * 2, 4, 2, 0.2)
        MyDCGAN.add_cbl(self.D, depth * 4, 4, 2, 0.2)
        MyDCGAN.add_cbl(self.D, depth * 8, 4, 2, 0.2)
        self.D.add(Flatten())
        self.D.add(Dropout(dropout))
        self.D.add(Dense(1))
        self.D.add(Activation('sigmoid'))
        self.D.summary()
Exemplo n.º 9
0
Arquivo: rkg.py Projeto: Gingaless/rkg
    def create_g4(self):

        depth = 32 + 32 + 32 + 32
        dim = 8
        channel = 3
        momentum = 0.9
        dropout = 0.3
        alpha = 0.2

        self.G.add(Dense(dim * dim * depth, input_dim=self.noise_size))
        self.G.add(Reshape((dim, dim, depth)))
        MyDCGAN.add_cbl(self.G, depth, 5, 1, alpha=alpha)
        self.G.add(UpSampling2D())
        MyDCGAN.add_dbr(self.G, int(depth), 4, 2)
        self.G.add(UpSampling2D())
        MyDCGAN.add_dbr(self.G, int(depth / 2), 4, 2)
        self.G.add(Conv2D(channel, 7, strides=1, padding='same'))
        self.G.add(Activation('tanh'))
        self.G.summary()