Update app_parquet.py
Browse files- app_parquet.py +11 -16
app_parquet.py
CHANGED
|
@@ -187,16 +187,16 @@ PARQUET_DATASET_DIR.mkdir(parents=True, exist_ok=True)
|
|
| 187 |
scheduler = ParquetScheduler(repo_id="example-space-to-dataset-parquet")
|
| 188 |
|
| 189 |
# client = Client("stabilityai/stable-diffusion") # Space is paused
|
| 190 |
-
client = Client("runwayml/stable-diffusion-v1-5")
|
|
|
|
| 191 |
|
| 192 |
|
| 193 |
def generate(prompt: str) -> tuple[str, list[str]]:
|
| 194 |
"""Generate images on 'submit' button."""
|
| 195 |
# Generate from https://huggingface.co/spaces/stabilityai/stable-diffusion
|
| 196 |
# out_dir = client.predict(prompt, "", 9, fn_index=1) # Space 'stabilityai/stable-diffusion' is paused
|
| 197 |
-
out_dir = client.predict(prompt, fn_index=1)
|
| 198 |
-
|
| 199 |
-
paths = list(json.load(f).keys())
|
| 200 |
|
| 201 |
# Save config used to generate data
|
| 202 |
with tempfile.NamedTemporaryFile(
|
|
@@ -206,7 +206,7 @@ def generate(prompt: str) -> tuple[str, list[str]]:
|
|
| 206 |
{"prompt": prompt, "negative_prompt": "", "guidance_scale": 9}, config_file
|
| 207 |
)
|
| 208 |
|
| 209 |
-
return config_file.name,
|
| 210 |
|
| 211 |
|
| 212 |
def get_selected_index(evt: gr.SelectData) -> int:
|
|
@@ -215,7 +215,7 @@ def get_selected_index(evt: gr.SelectData) -> int:
|
|
| 215 |
|
| 216 |
|
| 217 |
def save_preference(
|
| 218 |
-
config_path: str,
|
| 219 |
) -> None:
|
| 220 |
"""Save preference, i.e. move images to a new folder and send paths+config to scheduler."""
|
| 221 |
save_dir = PARQUET_DATASET_DIR / f"{uuid.uuid4()}"
|
|
@@ -226,14 +226,14 @@ def save_preference(
|
|
| 226 |
data = json.load(f)
|
| 227 |
|
| 228 |
# Add selected item + timestamp
|
| 229 |
-
data["selected_index"] =
|
| 230 |
data["timestamp"] = datetime.datetime.utcnow().isoformat()
|
| 231 |
|
| 232 |
# Copy and add images
|
| 233 |
-
for index
|
| 234 |
name = f"{index:03d}"
|
| 235 |
-
dst_path = save_dir / f"{name}{Path(
|
| 236 |
-
shutil.
|
| 237 |
data[f"image_{name}"] = dst_path
|
| 238 |
|
| 239 |
# Send to scheduler
|
|
@@ -261,14 +261,9 @@ def get_demo():
|
|
| 261 |
)
|
| 262 |
|
| 263 |
# Save preference on click
|
| 264 |
-
gallery.select(
|
| 265 |
-
fn=get_selected_index,
|
| 266 |
-
outputs=selected_index,
|
| 267 |
-
queue=False,
|
| 268 |
-
)
|
| 269 |
save_preference_button.click(
|
| 270 |
fn=save_preference,
|
| 271 |
-
inputs=[config_path, gallery
|
| 272 |
queue=False,
|
| 273 |
).then(
|
| 274 |
fn=clear,
|
|
|
|
| 187 |
scheduler = ParquetScheduler(repo_id="example-space-to-dataset-parquet")
|
| 188 |
|
| 189 |
# client = Client("stabilityai/stable-diffusion") # Space is paused
|
| 190 |
+
# client = Client("runwayml/stable-diffusion-v1-5") # Space has been deleted
|
| 191 |
+
client = Client("black-forest-labs/FLUX.1-schnell")
|
| 192 |
|
| 193 |
|
| 194 |
def generate(prompt: str) -> tuple[str, list[str]]:
|
| 195 |
"""Generate images on 'submit' button."""
|
| 196 |
# Generate from https://huggingface.co/spaces/stabilityai/stable-diffusion
|
| 197 |
# out_dir = client.predict(prompt, "", 9, fn_index=1) # Space 'stabilityai/stable-diffusion' is paused
|
| 198 |
+
# out_dir = client.predict(prompt, fn_index=1) # Space "runwayml/stable-diffusion-v1-5" has been deleted
|
| 199 |
+
image_path, _ = client.predict(prompt, api_name="/infer")
|
|
|
|
| 200 |
|
| 201 |
# Save config used to generate data
|
| 202 |
with tempfile.NamedTemporaryFile(
|
|
|
|
| 206 |
{"prompt": prompt, "negative_prompt": "", "guidance_scale": 9}, config_file
|
| 207 |
)
|
| 208 |
|
| 209 |
+
return config_file.name, image_path
|
| 210 |
|
| 211 |
|
| 212 |
def get_selected_index(evt: gr.SelectData) -> int:
|
|
|
|
| 215 |
|
| 216 |
|
| 217 |
def save_preference(
|
| 218 |
+
config_path: str, image_path: str
|
| 219 |
) -> None:
|
| 220 |
"""Save preference, i.e. move images to a new folder and send paths+config to scheduler."""
|
| 221 |
save_dir = PARQUET_DATASET_DIR / f"{uuid.uuid4()}"
|
|
|
|
| 226 |
data = json.load(f)
|
| 227 |
|
| 228 |
# Add selected item + timestamp
|
| 229 |
+
data["selected_index"] = 0
|
| 230 |
data["timestamp"] = datetime.datetime.utcnow().isoformat()
|
| 231 |
|
| 232 |
# Copy and add images
|
| 233 |
+
for index in range(4): # fake 4 images
|
| 234 |
name = f"{index:03d}"
|
| 235 |
+
dst_path = save_dir / f"{name}{Path(image_path).suffix}"
|
| 236 |
+
shutil.copyfile(image_path, dst_path)
|
| 237 |
data[f"image_{name}"] = dst_path
|
| 238 |
|
| 239 |
# Send to scheduler
|
|
|
|
| 261 |
)
|
| 262 |
|
| 263 |
# Save preference on click
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 264 |
save_preference_button.click(
|
| 265 |
fn=save_preference,
|
| 266 |
+
inputs=[config_path, gallery],
|
| 267 |
queue=False,
|
| 268 |
).then(
|
| 269 |
fn=clear,
|