Spaces:
Runtime error
Runtime error
File size: 2,274 Bytes
7eaa282 5295340 7eaa282 78a2900 5295340 78a2900 7eaa282 78a2900 7eaa282 5295340 7eaa282 78a2900 7eaa282 78a2900 7eaa282 78a2900 7eaa282 78a2900 7eaa282 |
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 |
import gradio as gr
import tensorflow as tf
from semdiffusers import SemanticEditPipeline
device = 'gpu' if tf.config.list_physical_devices('GPU') else 'cpu'
pipe = SemanticEditPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
).to(device)
def infer(prompt, seed):
gen = tf.random.Generator.from_seed(seed)
out = pipe(
prompt=prompt,
generator=gen,
num_images_per_prompt=1,
guidance_scale=7
)
images = out.images[0]
out_edit = pipe(
prompt=prompt,
generator=gen,
num_images_per_prompt=1,
guidance_scale=7,
editing_prompt=['male person', 'female person'], # Concepts to apply
reverse_editing_direction=[True, False], # Direction of guidance i.e. decrease the first and increase the second concept
edit_warmup_steps=[10, 10], # Warmup period for each concept
edit_guidance_scale=[4, 4], # Guidance scale for each concept
edit_threshold=[0.95, 0.95], # Threshold for each concept. Threshold equals the percentile of the latent space that will be discarded. I.e. threshold=0.99 uses 1% of the latent dimensions
edit_momentum_scale=0.3, # Momentum scale that will be added to the latent guidance
edit_mom_beta=0.6, # Momentum beta
edit_weights=[1, 1] # Weights of the individual concepts against each other
)
images_edited = out_edit.images[0]
return [
(images, 'Stable Diffusion'),
(images_edited, 'Fair Diffusion')
]
inputs = [
gr.inputs.Textbox(label='Prompt'),
gr.inputs.Number(label='Seed', default=0, step=1)
]
outputs = gr.outputs.Image(label='Images', type='numpy', number=2)
title = 'Semantic Edit Pipeline'
description = 'Semantic Edit Pipeline implementation using SemDiffusers.'
article = "<h3 style='text-align: center'><a href='https://github.com/crowsonkb/semdiffusers'>SemDiffusers</a></h3>"
gr.Interface(
infer,
inputs,
outputs,
title=title,
description=description,
article=article,
theme='compact'
).launch();
|