Spaces:
Runtime error
Runtime error
Commit
·
d9a4e74
1
Parent(s):
25fe7da
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
-
from stability_sdk import client
|
| 3 |
-
import stability_sdk.interfaces.gooseai.generation.generation_pb2 as generation
|
| 4 |
from PIL import Image
|
| 5 |
import io
|
| 6 |
import os
|
| 7 |
import warnings
|
| 8 |
-
|
|
|
|
|
|
|
| 9 |
|
| 10 |
# theme = gr.themes.Monochrome(
|
| 11 |
# primary_hue="indigo",
|
|
@@ -15,41 +15,17 @@ import warnings
|
|
| 15 |
# font=[gr.themes.GoogleFont("Open Sans"), "ui-sans-serif", "system-ui", "sans-serif"],
|
| 16 |
# )
|
| 17 |
|
| 18 |
-
def infer(prompt
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
)
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
#seed=992446758, # If a seed is provided, the resulting generated image will be deterministic.
|
| 28 |
-
# What this means is that as long as all generation parameters remain the same, you can always recall the same image simply by generating it again.
|
| 29 |
-
# Note: This isn't quite the case for Clip Guided generations, which we'll tackle in a future example notebook.
|
| 30 |
-
steps=50, # Amount of inference steps performed on image generation. Defaults to 30.
|
| 31 |
-
cfg_scale=8.0, # Influences how strongly your generation is guided to match your prompt.
|
| 32 |
-
# Setting this value higher increases the strength in which it tries to match your prompt.
|
| 33 |
-
# Defaults to 7.0 if not specified.
|
| 34 |
-
width=512, # Generation width, defaults to 512 if not included.
|
| 35 |
-
height=512, # Generation height, defaults to 512 if not included.
|
| 36 |
-
samples=2, # Number of images to generate, defaults to 1 if not included.
|
| 37 |
-
sampler=generation.SAMPLER_K_DPMPP_2M # Choose which sampler we want to denoise our generation with.
|
| 38 |
-
# Defaults to k_dpmpp_2m if not specified. Clip Guidance only supports ancestral samplers.
|
| 39 |
-
# (Available Samplers: ddim, plms, k_euler, k_euler_ancestral, k_heun, k_dpm_2, k_dpm_2_ancestral, k_dpmpp_2s_ancestral, k_lms, k_dpmpp_2m)
|
| 40 |
-
)
|
| 41 |
-
results = []
|
| 42 |
-
for resp in answers:
|
| 43 |
-
for artifact in resp.artifacts:
|
| 44 |
-
if artifact.finish_reason == generation.FILTER:
|
| 45 |
-
warnings.warn(
|
| 46 |
-
"Your request activated the API's safety filters and could not be processed."
|
| 47 |
-
"Please modify the prompt and try again.")
|
| 48 |
-
if artifact.type == generation.ARTIFACT_IMAGE:
|
| 49 |
-
img = Image.open(io.BytesIO(artifact.binary))
|
| 50 |
-
results.append(img)
|
| 51 |
|
| 52 |
-
return
|
| 53 |
|
| 54 |
css = """
|
| 55 |
.gradio-container {
|
|
@@ -238,8 +214,7 @@ with gr.Blocks(css = css) as demo:
|
|
| 238 |
)
|
| 239 |
gr.HTML("<p>You can duplicate this Space to run it privately without a queue for shorter queue times : <a style='display:inline-block' href='https://huggingface.co/spaces/RamAnanth1/stable-diffusion-xl?duplicate=true'><img src='https://img.shields.io/badge/-Duplicate%20Space-blue?labelColor=white&style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAP5JREFUOE+lk7FqAkEURY+ltunEgFXS2sZGIbXfEPdLlnxJyDdYB62sbbUKpLbVNhyYFzbrrA74YJlh9r079973psed0cvUD4A+4HoCjsA85X0Dfn/RBLBgBDxnQPfAEJgBY+A9gALA4tcbamSzS4xq4FOQAJgCDwV2CPKV8tZAJcAjMMkUe1vX+U+SMhfAJEHasQIWmXNN3abzDwHUrgcRGmYcgKe0bxrblHEB4E/pndMazNpSZGcsZdBlYJcEL9Afo75molJyM2FxmPgmgPqlWNLGfwZGG6UiyEvLzHYDmoPkDDiNm9JR9uboiONcBXrpY1qmgs21x1QwyZcpvxt9NS09PlsPAAAAAElFTkSuQmCC&logoWidth=14' alt='Duplicate Space'></a> </p>")
|
| 240 |
|
| 241 |
-
|
| 242 |
-
|
| 243 |
with gr.Row(elem_id="prompt-container").style(mobile_collapse=False, equal_height=True):
|
| 244 |
with gr.Column():
|
| 245 |
text = gr.Textbox(
|
|
@@ -263,7 +238,7 @@ with gr.Blocks(css = css) as demo:
|
|
| 263 |
label="Generated images", show_label=False, elem_id="gallery"
|
| 264 |
).style(grid=[2], height="auto")
|
| 265 |
|
| 266 |
-
btn.click(infer, inputs=[text
|
| 267 |
examples = [
|
| 268 |
["Vintage hot rod with custom flame paint job"],
|
| 269 |
["Ancient, mysterious temple in a mountain range, surrounded by misty clouds and tall peaks"],
|
|
|
|
| 1 |
import gradio as gr
|
|
|
|
|
|
|
| 2 |
from PIL import Image
|
| 3 |
import io
|
| 4 |
import os
|
| 5 |
import warnings
|
| 6 |
+
import torch
|
| 7 |
+
import numpy as np
|
| 8 |
+
from diffusers import DiffusionPipeline
|
| 9 |
|
| 10 |
# theme = gr.themes.Monochrome(
|
| 11 |
# primary_hue="indigo",
|
|
|
|
| 15 |
# font=[gr.themes.GoogleFont("Open Sans"), "ui-sans-serif", "system-ui", "sans-serif"],
|
| 16 |
# )
|
| 17 |
|
| 18 |
+
def infer(prompt):
|
| 19 |
+
torch.cuda.max_memory_allocated(device='cpu')
|
| 20 |
+
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-0.9", torch_dtype=torch.float16, variant="fp16", use_safetensors=True)
|
| 21 |
+
pipe = pipe.to(device)
|
| 22 |
+
pipe.enable_xformers_memory_efficient_attention()
|
| 23 |
+
torch.cuda.empty_cache()
|
| 24 |
+
generator = torch.Generator(device=device).manual_seed(seed)
|
| 25 |
+
int_image = pipe(prompt, negative_prompt=negative_prompt, num_inference_steps=steps, height=height, width=width, guidance_scale=scale, num_images_per_prompt=1, generator=generator).images
|
| 26 |
+
torch.cuda.empty_cache()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
+
return int_image
|
| 29 |
|
| 30 |
css = """
|
| 31 |
.gradio-container {
|
|
|
|
| 214 |
)
|
| 215 |
gr.HTML("<p>You can duplicate this Space to run it privately without a queue for shorter queue times : <a style='display:inline-block' href='https://huggingface.co/spaces/RamAnanth1/stable-diffusion-xl?duplicate=true'><img src='https://img.shields.io/badge/-Duplicate%20Space-blue?labelColor=white&style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAP5JREFUOE+lk7FqAkEURY+ltunEgFXS2sZGIbXfEPdLlnxJyDdYB62sbbUKpLbVNhyYFzbrrA74YJlh9r079973psed0cvUD4A+4HoCjsA85X0Dfn/RBLBgBDxnQPfAEJgBY+A9gALA4tcbamSzS4xq4FOQAJgCDwV2CPKV8tZAJcAjMMkUe1vX+U+SMhfAJEHasQIWmXNN3abzDwHUrgcRGmYcgKe0bxrblHEB4E/pndMazNpSZGcsZdBlYJcEL9Afo75molJyM2FxmPgmgPqlWNLGfwZGG6UiyEvLzHYDmoPkDDiNm9JR9uboiONcBXrpY1qmgs21x1QwyZcpvxt9NS09PlsPAAAAAElFTkSuQmCC&logoWidth=14' alt='Duplicate Space'></a> </p>")
|
| 216 |
|
| 217 |
+
|
|
|
|
| 218 |
with gr.Row(elem_id="prompt-container").style(mobile_collapse=False, equal_height=True):
|
| 219 |
with gr.Column():
|
| 220 |
text = gr.Textbox(
|
|
|
|
| 238 |
label="Generated images", show_label=False, elem_id="gallery"
|
| 239 |
).style(grid=[2], height="auto")
|
| 240 |
|
| 241 |
+
btn.click(infer, inputs=[text], outputs=[gallery])
|
| 242 |
examples = [
|
| 243 |
["Vintage hot rod with custom flame paint job"],
|
| 244 |
["Ancient, mysterious temple in a mountain range, surrounded by misty clouds and tall peaks"],
|