hubble-diffusion-2 / README.md
Supermaxman's picture
Update README.md
2061489
metadata
license: openrail++
language:
  - en
tags:
  - stable-diffusion
  - stable-diffusion-diffusers
  - text-to-image
widget:
  - text: >-
      Hubble snaps images of the birthplace of stars within a cluster: The dust
      and gas expand within the cluster due to the powerful influence of baby
      stars. With these new images comes improved detail and a clearer view for
      astronomers to study how early stars are born and change over time.
    example_title: Baby Stars
  - text: >-
      Hubble captures the death of a star: Old stars, nearing the end of their
      life, collapse under the weight of their own gravity and the outer layers
      explode as a 'supernova'. In this image Hubble captures the moments after
      collapse, where the star has exploded and left an empty void in its place,
      where a new black hole has emerged.
    example_title: Old Stars
  - text: >-
      Hubble image of galaxies colliding: The distorted spirals of two distant
      galaxies colliding are captured here in a new image from the NASA/ESA
      Hubble Space Telescope. The typically symmetric spirals common in spiral
      galaxies appear significantly warped, as the shape of both galaxies is
      torn apart by their gravitational pulls.
    example_title: Galaxies Collide
  - text: >-
      Pink-tinted plumes in the Large Magellanic Cloud: The aggressively pink
      plumes seen in this image are extremely uncommon, with purple-tinted
      currents and nebulous strands reaching out into the surrounding space.
    example_title: Pink Plumes
  - text: >-
      The stellar plasma of Wolf 359: The red dwarf star Wolf 359 from the
      constellation Leo is captured in extreme detail in a new image from the
      NASA/ESA Hubble Space Telescope. Wolf 359, classified as a M6 red dwarf,
      has certain peculiar qualities indicated by an unusual ejection of plasma.
      The Hubble telescope was able to capture one such event
    example_title: Wolf 359
thumbnail: ''
inference: true
datasets:
  - Supermaxman/esa-hubble

Hubble Diffusion v2: Stable Diffusion v2.1 fine tuned on ESA Hubble Deep Space Images & Captions

Put in a detailed text prompt and generate high-quality Hubble Deep Space Images! Now with Stable Diffusion 2.1!

512x512 Diffusion Examples

Generated with the StableDiffusionPipeline with a normal Google Colab GPU with 15 GB of VRAM. Images are arranged in a 3x3 grid from using a batch_size of 9. Details and code is provided in the Usage section. Each of the following 3x3 examples took just over a minute to generate:

Hubble captures the death of a star: Old stars, nearing the end of their life, collapse under the weight of their own gravity and the outer layers explode as a 'supernova'. In this image Hubble captures the moments after collapse, where the star has exploded and left an empty void in its place, where a new black hole has emerged.

old.png

Pink-tinted plumes in the Large Magellanic Cloud: The aggressively pink plumes seen in this image are extremely uncommon, with purple-tinted currents and nebulous strands reaching out into the surrounding space.

pink.png

Hubble snaps images of the birthplace of stars within a cluster: The dust and gas expand within the cluster due to the powerful influence of baby stars. With these new images comes improved detail and a clearer view for astronomers to study how early stars are born and change over time.

baby.png

Hubble image of galaxies colliding: The distorted spirals of two distant galaxies colliding are captured here in a new image from the NASA/ESA Hubble Space Telescope. The typically symmetric spirals common in spiral galaxies appear significantly warped, as the shape of both galaxies is torn apart by their gravitational pulls.

collide.png

The stellar plasma of Wolf 359: The red dwarf star Wolf 359 from the constellation Leo is captured in extreme detail in a new image from the NASA/ESA Hubble Space Telescope. Wolf 359, classified as a M6 red dwarf, has certain peculiar qualities indicated by an unusual ejection of plasma. The Hubble telescope was able to capture one such event

wolf359.png

More examples can be found in the GitHub repository.

2560x1536 MultiDiffusion Examples

Yes, you heard that right! With the StableDiffusionPanoramaPipeline from MultiDiffusion and enable_xformers_memory_efficient_attention from xformers you can actually generate 1440p images on a normal Google Colab GPU with 15 GB of VRAM! Details and code is provided in the Usage section. Each of the following examples took just over an hour to generate, but are absolutely worth it:

Aqua-tinted plumes in the Large Magellanic Cloud: The deep aqua plumes seen in this image are extremely uncommon, with purple-tinted currents and nebulous strands reaching out into the surrounding space.

aqua-2560-1536-128.png

Stars out of space: The imaged star cluster sits at the edge of a large emission nebula that stretches through the vastness of space. Part of the nebula is ionized by the youngest (bluest) heavy stars, creating a bubble-like shape in the gas clouds surrounding this region.

emission-2560-1536-128.png

Hubble image of galaxies colliding: The distorted spirals of two distant galaxies colliding are captured here in a new image from the NASA/ESA Hubble Space Telescope. The typically symmetric spirals common in spiral galaxies appear significantly warped, as the shape of both galaxies is torn apart by their gravitational pulls.

collide-2560-1536-128.png

Hubble watches waves of light from enigmatic erupting star: Captured by the Hubble Space Telescope's Advanced Camera for Surveys, this image provides a look into how light can ride waves of ejected gas as the gas expanding through space away from the star.

echo-2560-1536-128.png

Hubble image of a colorful ringed nebula: A new vibrant ring-shaped nebula was imaged by the NASA/ESA Hubble Space Telescope. The nebular looks like an egg shape with a diffusion of the boundary into the surrounding night sky.

ring-2560-1536-128.png

The stellar plasma of Wolf 359: The red dwarf star Wolf 359 from the constellation Leo is captured in extreme detail in a new image from the NASA/ESA Hubble Space Telescope. Wolf 359, classified as a M6 red dwarf, has certain peculiar qualities indicated by an unusual ejection of plasma. The Hubble telescope was able to capture one such event

wolf359-2560-1536-128.png

A slow and deadly dance: Most solar systems only contain a single star, while rarely binary star systems can contain two stars closely orbiting each other. With this new image, Hubble captures an extremely rare trinary star system, where three stars orbit each other in a daring yet dangerous dance.

trinary-2560-1536-257.png

Model Details

@misc{weinzierl2023sdhubble2,
  author = {Weinzierl, Maxwell A.},
  title = {Hubble Diffusion v2: Stable Diffusion v2.1 fine tuned on ESA Hubble Deep Space Images & Captions},
  year={2023},
  howpublished= {\url{https://huggingface.co/Supermaxman/hubble-diffusion-2}}
} 

Also, be sure to check out the prior version Hubble Diffusion v1!

Examples

We recommend using 🤗's Diffusers library to run Hubble Diffusion.

Usage

512x512 Generation

pip install transformers diffusers accelerate
import torch
from diffusers import StableDiffusionPipeline

model_id = "Supermaxman/hubble-diffusion-2"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")
# saves GPU memory for small inference cost
pipe.enable_attention_slicing()

prompt = "Hubble snaps images of the birthplace of stars within a cluster: The dust and gas expand within the cluster due to the powerful influence of baby stars. With these new images comes improved detail and a clearer view for astronomers to study how early stars are born and change over time."
image = pipe(prompt).images[0]
image

example.png

2560x1536 MultiDiffusion Generation

pip install transformers diffusers accelerate xformers
import torch
from diffusers import StableDiffusionPanoramaPipeline, DDIMScheduler

model_id = 'Supermaxman/hubble-diffusion-2'
scheduler = DDIMScheduler.from_pretrained(model_id, subfolder="scheduler")
pipe = StableDiffusionPanoramaPipeline.from_pretrained(
     model_id, scheduler=scheduler, torch_dtype=torch.float16
)
# saves significant GPU memory and can be faster for inference
pipe.enable_xformers_memory_efficient_attention()
pipe = pipe.to("cuda")

prompt = "A slow and deadly dance: Most solar systems only contain a single star, while rarely binary star systems can contain two stars closely orbiting each other. With this new image, Hubble captures an extremely rare trinary star system, where three stars orbit each other in a daring yet dangerous dance."
image = pipe(prompt).images[0]
image

trinary-2560-1536-258.png

Model description

Trained on ESA Hubble Deep Space Images & Captions using Google Colab Pro with a single A100 GPU for around 33,000 steps (about 12 hours, at a cost of about $20). More details can be found at the GitHub repo.

Links

Trained by Maxwell Weinzierl (@Supermaxman1).

Citation

@misc{weinzierl2023sdhubble2,
  author = {Weinzierl, Maxwell A.},
  title = {Hubble Diffusion v2: Stable Diffusion v2.1 fine tuned on ESA Hubble Deep Space Images & Captions},
  year={2023},
  howpublished= {\url{https://huggingface.co/Supermaxman/hubble-diffusion-2}}
}