From 75881fd64d214280c9a5e41a49d016f9b1cf3d12 Mon Sep 17 00:00:00 2001 From: Logan Bauman Date: Thu, 5 May 2022 00:11:00 -0400 Subject: mega --- main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'main.py') diff --git a/main.py b/main.py index de769baa..60574e63 100644 --- a/main.py +++ b/main.py @@ -36,7 +36,8 @@ def parse_args(): return parser.parse_args() def train(model): - for _ in range(hp.num_epochs): + for i in range(hp.num_epochs): + print('batch', i) model.train_step() def main(): -- cgit v1.2.3-70-g09d2 From d802c988a57d6afe4fca979384ba377ecc7edb66 Mon Sep 17 00:00:00 2001 From: Logan Bauman Date: Fri, 6 May 2022 23:32:17 -0400 Subject: hi --- __pycache__/hyperparameters.cpython-38.pyc | Bin 341 -> 332 bytes __pycache__/losses.cpython-38.pyc | Bin 4409 -> 4546 bytes hyperparameters.py | 6 ++--- losses.py | 37 +++++++++++++++++++++-------- main.py | 12 ++++++++-- save.jpg | Bin 39903 -> 46064 bytes 6 files changed, 40 insertions(+), 15 deletions(-) (limited to 'main.py') diff --git a/__pycache__/hyperparameters.cpython-38.pyc b/__pycache__/hyperparameters.cpython-38.pyc index e1a90bd4..7d32eefa 100644 Binary files a/__pycache__/hyperparameters.cpython-38.pyc and b/__pycache__/hyperparameters.cpython-38.pyc differ diff --git a/__pycache__/losses.cpython-38.pyc b/__pycache__/losses.cpython-38.pyc index 71b86245..66e565ec 100644 Binary files a/__pycache__/losses.cpython-38.pyc and b/__pycache__/losses.cpython-38.pyc differ diff --git a/hyperparameters.py b/hyperparameters.py index b03db017..460543dc 100644 --- a/hyperparameters.py +++ b/hyperparameters.py @@ -9,17 +9,17 @@ Number of epochs. If you experiment with more complex networks you might need to increase this. Likewise if you add regularization that slows training. """ -num_epochs = 5000 +num_epochs = 1000 """ A critical parameter that can dramatically affect whether training succeeds or fails. The value for this depends significantly on which optimizer is used. Refer to the default learning rate parameter """ -learning_rate = 3e-2 +learning_rate = 1e-2 momentum = 0.01 alpha = 1e-2 -beta = 1e-5 +beta = 1e-4 diff --git a/losses.py b/losses.py index 7198ebf4..5564ca33 100644 --- a/losses.py +++ b/losses.py @@ -1,8 +1,10 @@ import tensorflow as tf +import numpy as np from tensorflow.keras.layers import \ Conv2D, AveragePooling2D from skimage import transform import hyperparameters as hp + class YourModel(tf.keras.Model): """ Your own neural network model. """ @@ -11,17 +13,26 @@ class YourModel(tf.keras.Model): self.content_image = transform.resize(content_image, tf.shape(style_image), anti_aliasing=True) self.content_image = tf.expand_dims(self.content_image, axis=0) + print(self.content_image) #perhaps consider cropping to avoid distortion self.style_image = transform.resize(style_image, tf.shape(style_image), anti_aliasing=True) self.style_image = tf.expand_dims(self.style_image, axis=0) - self.x = tf.Variable(tf.expand_dims(tf.random.uniform(tf.shape(content_image)), axis=0), trainable=True) + #self.x = tf.Variable(initial_value = self.content_image.numpy().astype(np.float32), trainable=True) + self.x = tf.Variable(initial_value = np.random.rand(self.content_image.shape[0], + self.content_image.shape[1], self.content_image.shape[2], self.content_image.shape[3]).astype(np.float32), trainable=True) + self.alpha = hp.alpha self.beta = hp.beta - print(self.x.shape) + self.photo_layers = None + self.art_layers = None + - print(self.content_image.shape, self.style_image.shape) + + #(self.x.shape) + + #print(self.content_image.shape, self.style_image.shape) self.optimizer = tf.keras.optimizers.Adam() @@ -88,14 +99,20 @@ class YourModel(tf.keras.Model): return x, layers def loss_fn(self, p, a, x): - _, photo_layers = self.call(p) - _, art_layers = self.call(a) - _, input_layers = self.call(x) - - content_l = self.content_loss(photo_layers, input_layers) - style_l = self.style_loss(art_layers, input_layers) + # print(p) + if(self.photo_layers == None): + _, self.photo_layers = self.call(p) + # print(a) + if(self.art_layers == None): + _, self.art_layers = self.call(a) + # print(x) + _, input_layers = self.call(x) + + + content_l = self.content_loss(self.photo_layers, input_layers) + style_l = self.style_loss(self.art_layers, input_layers) # Equation 7 - return (self.alpha * content_l) + (self.beta * style_l) + return (self.alpha * content_l) + (self.beta * style_l) def content_loss(self, photo_layers, input_layers): L_content = tf.constant(0.0) diff --git a/main.py b/main.py index 60574e63..a074f71d 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,9 @@ import os import sys import argparse +import cv2 import tensorflow as tf +from skimage import transform import hyperparameters as hp from losses import YourModel @@ -50,9 +52,15 @@ def main(): print('this is',ARGS.content) content_image = imread(ARGS.content) - content_image = np.resize(content_image, (255, 255, 3)) + + style_image = imread(ARGS.style) - style_image = np.resize(style_image, (255, 255, 3)) + cv2.imshow('hi1', style_image) + cv2.waitKey(0) + + style_image = transform.resize(style_image, content_image.shape) + cv2.imshow('hi2', style_image) + cv2.waitKey(0) my_model = YourModel(content_image=content_image, style_image=style_image) my_model.vgg16.build([1, 255, 255, 3]) my_model.vgg16.load_weights('vgg16_imagenet.h5', by_name=True) diff --git a/save.jpg b/save.jpg index 86b5f854..f4f49d6e 100644 Binary files a/save.jpg and b/save.jpg differ -- cgit v1.2.3-70-g09d2 From d98322eaa8a2b9eddf7fd204e213afb722590015 Mon Sep 17 00:00:00 2001 From: Logan Bauman Date: Fri, 6 May 2022 23:37:06 -0400 Subject: hi --- main.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index a074f71d..e5104756 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,7 @@ import os import sys import argparse -import cv2 + import tensorflow as tf from skimage import transform @@ -55,12 +55,10 @@ def main(): style_image = imread(ARGS.style) - cv2.imshow('hi1', style_image) - cv2.waitKey(0) + style_image = transform.resize(style_image, content_image.shape) - cv2.imshow('hi2', style_image) - cv2.waitKey(0) + my_model = YourModel(content_image=content_image, style_image=style_image) my_model.vgg16.build([1, 255, 255, 3]) my_model.vgg16.load_weights('vgg16_imagenet.h5', by_name=True) -- cgit v1.2.3-70-g09d2 From b9051e0ec773095dcf84ec26a02248a46dcf1786 Mon Sep 17 00:00:00 2001 From: Logan Bauman Date: Sat, 7 May 2022 08:13:53 -0400 Subject: hi --- main.py | 4 ---- 1 file changed, 4 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index e5104756..60aa6b07 100644 --- a/main.py +++ b/main.py @@ -52,11 +52,7 @@ def main(): print('this is',ARGS.content) content_image = imread(ARGS.content) - - style_image = imread(ARGS.style) - - style_image = transform.resize(style_image, content_image.shape) my_model = YourModel(content_image=content_image, style_image=style_image) -- cgit v1.2.3-70-g09d2 From aa4999f22143be058cb73c829783bf5f894c7c0f Mon Sep 17 00:00:00 2001 From: Logan Bauman Date: Sat, 7 May 2022 14:26:42 -0400 Subject: hi --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'main.py') diff --git a/main.py b/main.py index 60aa6b07..45714611 100644 --- a/main.py +++ b/main.py @@ -53,7 +53,7 @@ def main(): content_image = imread(ARGS.content) style_image = imread(ARGS.style) - style_image = transform.resize(style_image, content_image.shape) + style_image = transform.resize(style_image, content_image.shape, anti_aliasing=True) my_model = YourModel(content_image=content_image, style_image=style_image) my_model.vgg16.build([1, 255, 255, 3]) -- cgit v1.2.3-70-g09d2