Spaces:
Running
on
Zero
Running
on
Zero
import numpy as np | |
import random | |
import re | |
import torch | |
import config | |
with open("artist.txt", "r") as file: | |
artists = file.readlines() | |
MAX_SEED = np.iinfo(np.int32).max | |
# 去除每行末尾的换行符 | |
artists = [artist.strip() for artist in artists] | |
def feifeiprompt( | |
randomize_seed, seed, prompt, quality_select, styles_Radio | |
): | |
# 处理随机种子 | |
if randomize_seed: | |
seed = random.randint(0, MAX_SEED) | |
else: | |
seed = int(seed) # Ensure seed is an integer | |
generator = torch.Generator().manual_seed(seed) | |
if "__artist__" in prompt: | |
# 随机选择艺术家 | |
selected_artists = random.sample(artists, len(artists)) | |
# 使用正则表达式替换所有的 __artist__ | |
def replace_artists(match): | |
return selected_artists.pop(0) | |
prompt = re.sub(r"__artist__", replace_artists, prompt) | |
if quality_select: | |
prompt += ", masterpiece, best quality, very aesthetic, absurdres" | |
if styles_Radio: | |
style_name = styles_Radio | |
for style in config.style_list: | |
if style["name"] == style_name: | |
#prompt += style["prompt"].replace("{prompt}", prompt) | |
prompt = style["prompt"].replace("{prompt}", prompt) | |
return prompt, generator | |