diff --git a/api/models.py b/api/models.py index cddf2fe..5578d62 100644 --- a/api/models.py +++ b/api/models.py @@ -23,7 +23,7 @@ class Video(models.Model): yt_pafy = pafy.new(yt_url) # Use the biggest possible quality with file size < MAX_FILE_SIZE and resolution <= 480px - for stream in yt_pafy.videostreams: + for stream in reversed(yt_pafy.videostreams): if stream.get_filesize() < settings.MAX_FILE_SIZE and int(stream.quality.split("x")[1]) <= 480: tmp_name = uuid.uuid4().hex + ".mp4" relative_path = jj('raw_videos', tmp_name) diff --git a/neural_image_assessment/model.py b/neural_image_assessment/model.py index 44e1b0f..feead33 100644 --- a/neural_image_assessment/model.py +++ b/neural_image_assessment/model.py @@ -16,7 +16,7 @@ class NeuralImageAssessment: raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), settings.NIMA_MODEL_PATH) self.graph = tf.Graph() config = tf.ConfigProto() - config.gpu_options.per_process_gpu_memory_fraction = 0.2 + config.gpu_options.per_process_gpu_memory_fraction = 0.8 config.gpu_options.allow_growth = True self.session = tf.Session(graph=self.graph, config=config) with self.graph.as_default(): diff --git a/settings/settings.py b/settings/settings.py index 9ab2cd1..84019b7 100644 --- a/settings/settings.py +++ b/settings/settings.py @@ -148,4 +148,6 @@ DEFAULT_IMAGE_ASSESSMENT_MODE = 0 DEFAULT_STYLE_TRANSFER_MODE = 0 COMIX_GAN_MODEL_PATH = os.path.join(BASE_DIR, 'ComixGAN', 'pretrained_models', 'generator_model.h5') +MAX_FRAME_SIZE_FOR_STYLE_TRANSFER = 600 + NIMA_MODEL_PATH = os.path.join(BASE_DIR, 'neural_image_assessment', 'pretrained_model', 'nima_model.h5') \ No newline at end of file diff --git a/style_transfer/style_transfer.py b/style_transfer/style_transfer.py index 2e68fb5..42ef6fc 100644 --- a/style_transfer/style_transfer.py +++ b/style_transfer/style_transfer.py @@ -46,18 +46,18 @@ class StyleTransfer(): @classmethod def _comix_gan_stylize(cls, frames): - frames = cls._resize_images(frames, size=450) + if max(frames[0].shape) > settings.MAX_FRAME_SIZE_FOR_STYLE_TRANSFER: + frames = cls._resize_images(frames, size=settings.MAX_FRAME_SIZE_FOR_STYLE_TRANSFER) with comixGAN.graph.as_default(): with comixGAN.session.as_default(): - batch_size = 1 + batch_size = 5 stylized_imgs = [] for i in range(0, len(frames), batch_size): batch_of_frames = ((np.stack(frames[i:i + batch_size]) / 255) * 2) - 1 stylized_batch_of_imgs = comixGAN.model.predict(batch_of_frames) - stylized_imgs.append(255 * ((stylized_batch_of_imgs + 1) / 2)) - # K.clear_session() - # gc.collect() + stylized_imgs.append(255 * ((stylized_batch_of_imgs + 1) / 1.25)) + return list(np.concatenate(stylized_imgs, axis=0)) @classmethod