karlo / app.py
ghosthamlet's picture
Duplicate from kakaobrain/karlo
537e2b2
raw
history blame
4.87 kB
import gradio as gr
import torch
from diffusers import UnCLIPPipeline
pipe = UnCLIPPipeline.from_pretrained("kakaobrain/karlo-v1-alpha", torch_dtype=torch.float16)
pipe = pipe.to("cuda")
def run(prompt):
images = pipe(prompt, num_images_per_prompt=6).images
return images
css = '''
.container{max-width: 800px}
#title_area{text-align: center}
#title_area h2{margin-bottom: 0.25em}
.footer {margin-bottom: 45px;text-align: center;border-bottom: 1px solid #e5e5e5}
.footer>p {font-size: .8rem;display: inline-block;padding: 0 10px;transform: translateY(10px);background: white}
.dark .footer {border-color: #303030}
.dark .footer>p {background: #0b0f19}
.acknowledgments h4{margin: 1.25em 0 .25em 0;font-weight: bold;font-size: 115%}
'''
with gr.Blocks(css=css) as demo:
with gr.Column(variant="panel"):
gr.Markdown('''## Karlo - unCLIP model by KakaoBrain
##### [Open source large scale replication](https://github.com/kakaobrain/karlo) of unCLIP, the DALL-E 2 technique. For more try our [B^DISCOVER app](https://bdiscover.kakaobrain.com/)
''', elem_id="title_area")
with gr.Row(variant="compact"):
text = gr.Textbox(
label="Enter your prompt",
show_label=False,
max_lines=1,
placeholder="Enter your prompt",
).style(
container=False,
)
btn = gr.Button("Generate image").style(full_width=False)
gallery = gr.Gallery(
label="Generated images", show_label=False, elem_id="gallery"
).style(grid=[3], height="auto")
text.submit(run, text, gallery)
btn.click(run, text, gallery)
examples = ["A man with a face of avocado, in the drawing style of Rene Magritte", "a black porcelain in the shape of pikachu", "a portrait of an old monk, highly detailed", "A teddy bear on a skateboard, children drawing style.", ]
ex = gr.Examples(examples=examples, fn=run, inputs=text, outputs=gallery, cache_examples=True)
ex.dataset.headers = [""]
gr.HTML('''
<p style="text-align: center;font-size: 94%">
For Faster Results you can skip the queue by duplicating this space:&nbsp;&nbsp;
<a style="display: inline-block" href="https://huggingface.co/kakaobrain/karlo?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>
''')
gr.HTML(
"""
<div class="footer">
<p>Model by <a href="https://huggingface.co/kakaobrain" style="text-decoration: underline;" target="_blank">KakaoBrain</a> - Gradio Demo running on 🧨 diffusers by 🤗 Hugging Face
</p>
</div>
<div class="acknowledgments">
<p><h4>LICENSE</h4>
The model is licensed with a <a href="https://github.com/kakaobrain/karlo/blob/main/LICENSE" style="text-decoration: underline;" target="_blank">CreativeML OpenRAIL</a> license. The authors claim no rights on the outputs you generate, you are free to use them and are accountable for their use which must not go against the provisions set in this license. The license forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm, spread misinformation and target vulnerable groups. For the full list of restrictions please <a href="https://huggingface.co/spaces/CompVis/stable-diffusion-license" target="_blank" style="text-decoration: underline;" target="_blank">read the license</a></p>
<p><h4>Biases and content acknowledgment</h4>
Despite how impressive being able to turn text into image is, beware to the fact that this model may output content that reinforces or exacerbates societal biases, as well as realistic faces, pornography and violence. The model was trained on a filtered subset of the <a href="https://github.com/kakaobrain/coyo-dataset" style="text-decoration: underline;" target="_blank">COYO-700M dataset</a>, which scraped image-text-pairs from the internet for research purposes. You can read more in the <a href="https://huggingface.co/kakaobrain/karlo-v1-alpha" style="text-decoration: underline;" target="_blank">model card</a></p>
</div>
"""
)
demo.launch()