Spaces:
Runtime error
Runtime error
File size: 5,255 Bytes
e9e4cb1 36d98fa e9e4cb1 5e8a815 7ac1403 e9e4cb1 e763eea bb08cd6 e06a5f3 bb08cd6 e06a5f3 e763eea f165ffb e763eea f165ffb e763eea 36d98fa e9e4cb1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
from constants import css
import gradio as gr
block = gr.Blocks(css=css)
with block:
gr.HTML(
"""
<div style="text-align: center; margin: 0 auto;">
<div
style="
display: inline-flex;
align-items: center;
gap: 0.8rem;
font-size: 1.75rem;
"
>
<svg
width="0.65em"
height="0.65em"
viewBox="0 0 115 115"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<rect width="23" height="23" fill="white"></rect>
<rect y="69" width="23" height="23" fill="white"></rect>
<rect x="23" width="23" height="23" fill="#AEAEAE"></rect>
<rect x="23" y="69" width="23" height="23" fill="#AEAEAE"></rect>
<rect x="46" width="23" height="23" fill="white"></rect>
<rect x="46" y="69" width="23" height="23" fill="white"></rect>
<rect x="69" width="23" height="23" fill="black"></rect>
<rect x="69" y="69" width="23" height="23" fill="black"></rect>
<rect x="92" width="23" height="23" fill="#D9D9D9"></rect>
<rect x="92" y="69" width="23" height="23" fill="#AEAEAE"></rect>
<rect x="115" y="46" width="23" height="23" fill="white"></rect>
<rect x="115" y="115" width="23" height="23" fill="white"></rect>
<rect x="115" y="69" width="23" height="23" fill="#D9D9D9"></rect>
<rect x="92" y="46" width="23" height="23" fill="#AEAEAE"></rect>
<rect x="92" y="115" width="23" height="23" fill="#AEAEAE"></rect>
<rect x="92" y="69" width="23" height="23" fill="white"></rect>
<rect x="69" y="46" width="23" height="23" fill="white"></rect>
<rect x="69" y="115" width="23" height="23" fill="white"></rect>
<rect x="69" y="69" width="23" height="23" fill="#D9D9D9"></rect>
<rect x="46" y="46" width="23" height="23" fill="black"></rect>
<rect x="46" y="115" width="23" height="23" fill="black"></rect>
<rect x="46" y="69" width="23" height="23" fill="black"></rect>
<rect x="23" y="46" width="23" height="23" fill="#D9D9D9"></rect>
<rect x="23" y="115" width="23" height="23" fill="#AEAEAE"></rect>
<rect x="23" y="69" width="23" height="23" fill="black"></rect>
</svg>
<h1 style="font-weight: 900; margin-bottom: 7px;margin-top:5px">
Evaluate Schedulers with StableDiffusionPipeline 🧨
</h1>
</div>
<p style="margin-bottom: 10px; font-size: 94%; line-height: 23px;">
This Space allows you to quantitatively compare <a href=https://huggingface.co/docs/diffusers/using-diffusers/schedulers>different noise schedulers</a> with a <a href=https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion/overview>`StableDiffusionPipeline`</a>.
<br>One of the applications of this Space could be to evaluate different schedulers for a certain Stable Diffusion checkpoint<br> for a fixed number of inference steps.
</p>
</div>
"""
)
with gr.Group():
with gr.Box():
with gr.Row(elem_id="prompt-container").style(equal_height=True):
with gr.Column():
text = gr.Textbox(
label="Enter your prompt",
show_label=False,
max_lines=1,
placeholder="Enter your prompt",
elem_id="prompt-text-input",
).style(
border=(True, False, True, True),
rounded=(True, False, False, True),
container=False,
)
gr.HTML(
"""
<div class="acknowledgments">
<p><h4>How it works?</h4>
<ul>
<li> The evaluator first sets a seed and then generates the initial noise which is passed as the initial latent to start the image generation process. It is done to ensure fair comparison.</li>
<li>This initial latent is used every time the pipeline is run (with different schedulers).</li>
<li>To quantify the quality of the generated images we use:</li>
<ul>
<li><a href=https://en.wikipedia.org/wiki/Inception_score>Inception Score</a></li>
<li><a href=https://arxiv.org/abs/2104.08718>Clip Score</a></li>
</ul>
</ul></p>
<p><h4>Notes</h4>
<ul>
<li>The default scheduler associated with the provided checkpoint is always used for reporting the scores.</li>
<li>Increasing both the number of images per prompt and the number of inference steps could quickly build up the inference queue and thus
resulting in slowdowns.</li>
</ul>
</p>
</div>
"""
)
block.launch() |