Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
@@ -713,39 +713,75 @@ def generate_map(location_names):
|
|
713 |
# return image_1, image_2, image_3
|
714 |
|
715 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
716 |
import torch
|
717 |
from diffusers import DiffusionPipeline
|
718 |
-
import
|
719 |
-
import random
|
720 |
-
import gradio as gr
|
721 |
|
722 |
-
#
|
723 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
725 |
|
726 |
-
# Load the
|
727 |
pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=dtype).to(device)
|
728 |
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
# Function for inference using the Flux pipeline
|
733 |
-
def infer(prompt, seed=42, randomize_seed=False, width=1024, height=1024, num_inference_steps=4):
|
734 |
-
if randomize_seed:
|
735 |
-
seed = random.randint(0, MAX_SEED)
|
736 |
generator = torch.Generator(device).manual_seed(seed)
|
737 |
-
|
738 |
-
# Generate the image using the pipeline
|
739 |
image = pipe(
|
740 |
prompt=prompt,
|
741 |
width=width,
|
742 |
height=height,
|
743 |
-
num_inference_steps=num_inference_steps,
|
744 |
generator=generator,
|
745 |
guidance_scale=0.0
|
746 |
).images[0]
|
747 |
-
|
748 |
-
|
749 |
|
750 |
# Existing image generation function, updated to use the new Flux pipeline
|
751 |
def update_images():
|
|
|
713 |
# return image_1, image_2, image_3
|
714 |
|
715 |
|
716 |
+
# import torch
|
717 |
+
# from diffusers import DiffusionPipeline
|
718 |
+
# import numpy as np
|
719 |
+
# import random
|
720 |
+
# import gradio as gr
|
721 |
+
|
722 |
+
# # Constants for device and dtype
|
723 |
+
# dtype = torch.bfloat16
|
724 |
+
# device = "cuda" if torch.cuda.is_available() else "cpu"
|
725 |
+
|
726 |
+
# # Clear CUDA memory
|
727 |
+
# torch.cuda.empty_cache()
|
728 |
+
|
729 |
+
# # Load the Flux pipeline model
|
730 |
+
# pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=dtype).to(device)
|
731 |
+
|
732 |
+
# MAX_SEED = np.iinfo(np.int32).max
|
733 |
+
# MAX_IMAGE_SIZE = 2048
|
734 |
+
|
735 |
+
# # Function for inference using the Flux pipeline
|
736 |
+
# def infer(prompt, seed=42, randomize_seed=False, width=1024, height=1024, num_inference_steps=4):
|
737 |
+
# if randomize_seed:
|
738 |
+
# seed = random.randint(0, MAX_SEED)
|
739 |
+
# generator = torch.Generator(device).manual_seed(seed)
|
740 |
+
|
741 |
+
# # Generate the image using the pipeline
|
742 |
+
# image = pipe(
|
743 |
+
# prompt=prompt,
|
744 |
+
# width=width,
|
745 |
+
# height=height,
|
746 |
+
# num_inference_steps=num_inference_steps,
|
747 |
+
# generator=generator,
|
748 |
+
# guidance_scale=0.0
|
749 |
+
# ).images[0]
|
750 |
+
|
751 |
+
# return image, seed
|
752 |
+
|
753 |
+
|
754 |
+
|
755 |
import torch
|
756 |
from diffusers import DiffusionPipeline
|
757 |
+
import os
|
|
|
|
|
758 |
|
759 |
+
# Set PYTORCH_CUDA_ALLOC_CONF to avoid memory fragmentation
|
760 |
+
os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'expandable_segments:True'
|
761 |
+
|
762 |
+
# Clear CUDA cache before loading the model
|
763 |
+
torch.cuda.empty_cache()
|
764 |
+
|
765 |
+
# Use a smaller dtype (e.g., torch.float16)
|
766 |
+
dtype = torch.float16 if torch.cuda.is_available() else torch.float32
|
767 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
768 |
|
769 |
+
# Load the model with a smaller precision
|
770 |
pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=dtype).to(device)
|
771 |
|
772 |
+
# Reduce inference steps to save memory
|
773 |
+
def generate_image_flux(prompt, seed=42, width=1024, height=1024, num_inference_steps=2):
|
|
|
|
|
|
|
|
|
|
|
774 |
generator = torch.Generator(device).manual_seed(seed)
|
|
|
|
|
775 |
image = pipe(
|
776 |
prompt=prompt,
|
777 |
width=width,
|
778 |
height=height,
|
779 |
+
num_inference_steps=num_inference_steps, # Reduce the number of inference steps
|
780 |
generator=generator,
|
781 |
guidance_scale=0.0
|
782 |
).images[0]
|
783 |
+
return image
|
784 |
+
|
785 |
|
786 |
# Existing image generation function, updated to use the new Flux pipeline
|
787 |
def update_images():
|