# one convolution from 64 chanels to 3 chanels generator = Conv2D(filters = 3, kernel_size = 9, strides = 1, padding = "same")(generator) generator = Activation('sigmoid')(generator) generator = Conv2D(filters = 32, kernel_size = 9, strides = 1, padding = "same")(generator) generator = LeakyReLU(alpha = .2)(generator) generator = Conv2D(filters = 64, kernel_size = 1, strides = 1, padding = "same")(generator) generator = LeakyReLU(alpha = .2)(generator) generator = Conv2D(filters = 3, kernel_size = 5, strides = 1, padding = "same")(generator) generator = Activation("sigmoid")(generator) # end of the graph creation and loading of the weights generator = Model(inputs = input_layer, outputs = generator) generator.load_weights("_generator.h5") # load the image file and reshape color value between 0 and 1 image = Image.open(INPUT_FILE) print(f"Image format = {image.getbands()}") image = np.array(image).astype("float32") / 255 # extract the images data for th windows crations x_size, y_size, _ = image.shape new_size = x_size * 4, y_size * 4 # caluclate the windows number x_size //= WINDOWS_SIZES y_size //= WINDOWS_SIZES x_size += 1 y_size += 1
discriminator = Dense(1)(discriminator) discriminator = Activation('sigmoid')(discriminator) # end of the graph creation discriminator = Model(inputs=dis_input, outputs=discriminator) # Compilation ############# # generator # the optimizer optimizer = Adam(lr=2E-4, beta_1=0.9, beta_2=0.999, epsilon=1e-08) # load & compilation if LOAD: generator.load_weights(SAVE_PATH + 'generator_model.h5') _gnerator = generator # save an uncompile version of the generator generator.compile(loss=vgg_loss, optimizer=optimizer) # discriminator (use the same opti then the generator) # load & compile if LOAD: discriminator.loss_weights(SAVE_PATH + 'discriminator_model.h5') discriminator.compile(loss="binary_crossentropy", optimizer=optimizer, metrics=["accuracy"]) # gann # the optimizer