From 5f11bd055415c4849cbf1164665acbe533c095b0 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Tue, 4 Nov 2025 17:57:32 +0300 Subject: Add Monet CycleGAN project blog --- content/blog/csca5642-w5/notebook.html | 9812 ++++++++++++++++++++++++++++++++ 1 file changed, 9812 insertions(+) create mode 100644 content/blog/csca5642-w5/notebook.html (limited to 'content/blog/csca5642-w5/notebook.html') diff --git a/content/blog/csca5642-w5/notebook.html b/content/blog/csca5642-w5/notebook.html new file mode 100644 index 0000000..ae4d62a --- /dev/null +++ b/content/blog/csca5642-w5/notebook.html @@ -0,0 +1,9812 @@ + + + + + +cours3w5submission + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +# Create and train Styled CycleGAN +with strategy.scope(): + styled_cyclegan = StyledCycleGAN( + Generator(), Generator(), + Discriminator(), Discriminator(), + lambda_cycle=10, + lambda_style=1.0, + lambda_content=0.5 + ) + + styled_cyclegan.compile( + m_gen_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + p_gen_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + m_disc_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + p_disc_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + gen_loss_fn=generator_loss, + disc_loss_fn=discriminator_loss, + cycle_loss_fn=calc_cycle_loss, + identity_loss_fn=identity_loss + ) + +# Build styled model +_ = styled_cyclegan(sample_input, training=False) + +# Train styled model +styled_cyclegan.fit( + tf.data.Dataset.zip((monet_ds, photo_ds)), + epochs=10 +) + +#styled_cyclegan.m_gen.save("models/style_high_dropout50.keras") + +# Create and train Styled CycleGAN with a dropout of 0.3 or 0.7 +with strategy.scope(): + styled_cyclegan = StyledCycleGAN( + Generator(dropout=.7), Generator(dropout=.7), + Discriminator(), Discriminator(), + lambda_cycle=10, + lambda_style=1.0, + lambda_content=0.5 + ) + + styled_cyclegan.compile( + m_gen_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + p_gen_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + m_disc_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + p_disc_optimizer=tf.keras.optimizers.Adam(2e-4, beta_1=0.5), + gen_loss_fn=generator_loss, + disc_loss_fn=discriminator_loss, + cycle_loss_fn=calc_cycle_loss, + identity_loss_fn=identity_loss + ) + +# Build the styled model +_ = styled_cyclegan(sample_input, training=False) + +# Train the styled model +styled_cyclegan.fit( + tf.data.Dataset.zip((monet_ds, photo_ds)), + epochs=50 +) + +#styled_cyclegan.m_gen.save("models/style_high_dropout50.keras") + + +i = 1 +for img in photo_ds: + prediction = styled_cyclegan(img, training=False)[0].numpy() + prediction = (prediction * 127.5 + 127.5).astype(np.uint8) + im = Image.fromarray(prediction) + im.save(path.join(IMG_PATH, str(i) + ".jpg")) + i += 1shutil.make_archive(ZIP_NAME, 'zip', IMG_PATH) + + + +
+ + -- cgit v1.2.3-70-g09d2