Skip to main content
← All projects

Seaweed GAN

Generating dried-seaweed sheets with a DCGAN.

  • Generator / discriminator design
  • Research
  • 2024

The problem

I wanted to see how well a GAN could synthesize a very texture-heavy, niche subject — dried-seaweed (gim) sheets — and learn DCGAN training hands-on.

What it does

Trains a DCGAN: a generator turns random noise into seaweed-sheet textures while a discriminator learns to tell real sheets from generated ones; the two compete until the fakes look convincing. Produces 512×512 and upscaled 1600×1600 samples.

Stack

  • Python
  • TensorFlow
  • Keras
  • DCGAN
  • NumPy
  • Matplotlib

My role

  • Generator / discriminator design
  • Training loop
  • Sample generation

Adversarial training

The generator learns to fool a discriminator that learns to spot fakes — converging toward realistic seaweed textures.

Texture-faithful output

Captures the speckled, fibrous look of real gim sheets, not just blurry blobs.

How Seaweed GAN works — adversarial training loop diagram
How it works — adversarial training loop
GAN setup: generator vs discriminator
The GAN setup — generator vs discriminator
Generated dried-seaweed sheet sample 1
Generated sample
Generated dried-seaweed sheet sample 2
Generated sample
Generated dried-seaweed sheet sample 3
Generated sample
Generated dried-seaweed sheet sample 4
Generated sample