Spaces:
Sleeping
Sleeping
File size: 4,079 Bytes
15d22f4 f495f04 15d22f4 f495f04 15d22f4 e06f267 4387f4d e06f267 15d22f4 f495f04 15d22f4 e06f267 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 f495f04 15d22f4 |
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 |
import fal_client
import pandas as pd
from prompt_gen import prompt_gen
import requests
import os
nv_prompt_file = pd.read_excel('汉服-女词库.xlsx')
na_prompt_file = pd.read_excel('汉服-男词库.xlsx')
nv_prompt = nv_prompt_file.to_string(index=False)
na_prompt = na_prompt_file.to_string(index=False)
save_directory = "downloads"
def pro_gen(advice, gender, index):
prompt = prompt_gen(advice, gender)
start_index = prompt.find("Begin")
if start_index == -1:
start_index = prompt.find("begin")
intro_index = prompt.find("服饰风格介绍")
cloth_intro = ""
prompt__gen = ""
if start_index != -1:
start_index += len("Begin\n")
end_index = prompt.find("End")
if end_index != -1:
prompt__gen = prompt[start_index:end_index]
filename = os.path.join(save_directory, f"prompt_{index}.txt")
with open(filename, "w") as file:
file.write(prompt__gen)
print(prompt__gen)
else:
print("No 'promptEnd' found after 'prompt'.")
else:
print("No 'prompt' found in the text.")
if intro_index != -1:
intro_index += len("服饰风格介绍\n")
cloth_intro = ("汉服,是汉民族的传统服饰。又称衣冠、衣裳、汉装。汉服是中国“衣冠上国”“礼仪之邦”“锦绣中华”的体现,承载了中国的染织绣等杰出"
"工艺和美学,传承了30多项中国非物质文化遗产以及受保护的中国工艺美术。\n") + prompt[intro_index:]
filename = os.path.join(save_directory, f"cloth_intro_{index}.txt")
with open(filename, "w") as file:
file.write(cloth_intro)
print(cloth_intro)
else:
print("No '服饰风格介绍' found.")
return prompt__gen
def generate(lora_path, prompt__gen, index):
handler = fal_client.submit(
"fal-ai/fast-sdxl",
arguments={
"prompt": prompt__gen,
"negative_prompt": "human, people, person, man, woman, child, model, face, head, eyes, hands, arms, legs, "
"feet, hair, portrait, worst quality, low quality, normal quality, lowres, signature, "
"watermark, jpeg artifacts, logo, monochrome, grayscale, ugly",
"image_size": "portrait_4_3",
"num_inference_steps": 28,
"guidance_scale": 7.5,
"num_images": 2,
"loras": [{"path": lora_path, "scale": 0.7}],
"embeddings": [],
"safety_checker_version": "v1",
"format": "jpeg"
},
)
request_id = handler.request_id
result = fal_client.result("fal-ai/fast-sdxl", request_id)
image_index = index * 2 - 1
for image in result['images']:
response = requests.get(image['url'])
if response.status_code == 200:
filename = os.path.join(save_directory, f"gen_cloth_{image_index}.jpeg")
with open(filename, 'wb') as f:
f.write(response.content)
image_index += 1
else:
print(f"Failed to download image from {image['url']}")
def cloth_gen(gender):
lora_path = "https://huggingface.co/PPSharks/PPSharksModels/resolve/main/NV.safetensors"
if gender == "男":
lora_path = "https://huggingface.co/PPSharks/PPSharksModels/resolve/main/NA.safetensors"
else:
lora_path = "https://huggingface.co/PPSharks/PPSharksModels/resolve/main/NV.safetensors"
cloth_image = []
for i in range(1, 4):
with open(os.path.join(save_directory, f"prompt_{i}.txt"), "r") as file:
prompt__gen = file.read()
generate(lora_path, prompt__gen, i)
cloth_image.append(os.path.join(save_directory, f"gen_cloth_{i*2-1}.jpeg"))
cloth_image.append(os.path.join(save_directory, f"gen_cloth_{i*2}.jpeg"))
with open(os.path.join(save_directory, f"cloth_intro_1.txt"), "r") as file:
cloth_intro = file.read()
return cloth_image, cloth_image[0], cloth_intro
|