svjack commited on
Commit
595eb0d
Β·
verified Β·
1 Parent(s): f8006fb

Create run_consistentId_sdxl.py

Browse files
Files changed (1) hide show
  1. run_consistentId_sdxl.py +149 -0
run_consistentId_sdxl.py ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import random
2
+ import shutil
3
+ from gradio_client import Client, handle_file
4
+ from tqdm import tqdm
5
+ import re
6
+ import os
7
+ import pathlib
8
+ from datasets import Dataset, Image as HuggingFaceImage
9
+ from PIL import Image
10
+
11
+ prefix_quick_list = [
12
+ "detailed photo of",
13
+ "amateur photo of",
14
+ "flicker 2008 photo of",
15
+ "fantastic artwork of",
16
+ "vintage photograph of",
17
+ "Unreal 5 render of",
18
+ "surrealist painting of",
19
+ "professional advertising design of"
20
+ ]
21
+
22
+ subject_quick_list = [
23
+ "a handsome man img"
24
+ ]
25
+
26
+ illumination_environment_quick_list = [
27
+ "sunshine from window", "neon light, city", "sunset over sea", "golden time", "sci-fi RGB glowing, cyberpunk", "natural lighting",
28
+ "warm atmosphere, at home, bedroom", "magic lit", "evil, gothic, in a cave", "light and shadow", "shadow from window", "soft studio lighting",
29
+ "home atmosphere, cozy bedroom illumination", "neon, Wong Kar-wai, warm", "moonlight through curtains", "stormy sky lighting",
30
+ "underwater glow, deep sea", "foggy forest at dawn", "golden hour in a meadow", "rainbow reflections, neon", "cozy candlelight",
31
+ "apocalyptic, smoky atmosphere", "red glow, emergency lights", "mystical glow, enchanted forest", "campfire light", "harsh, industrial lighting",
32
+ "sunrise in the mountains", "evening glow in the desert", "moonlight in a dark alley", "golden glow at a fairground",
33
+ "midnight in the forest", "purple and pink hues at twilight", "foggy morning, muted light", "candle-lit room, rustic vibe",
34
+ "fluorescent office lighting", "lightning flash in storm", "night, cozy warm light from fireplace", "ethereal glow, magical forest",
35
+ "dusky evening on a beach", "afternoon light filtering through trees", "blue neon light, urban street", "red and blue police lights in rain",
36
+ "aurora borealis glow, arctic landscape", "sunrise through foggy mountains", "golden hour on a city skyline", "mysterious twilight, heavy mist",
37
+ "early morning rays, forest clearing", "colorful lantern light at festival", "soft glow through stained glass", "harsh spotlight in dark room",
38
+ "mellow evening glow on a lake", "crystal reflections in a cave", "vibrant autumn lighting in a forest", "gentle snowfall at dusk",
39
+ "hazy light of a winter morning", "soft, diffused foggy glow", "underwater luminescence", "rain-soaked reflections in city lights",
40
+ "golden sunlight streaming through trees", "fireflies lighting up a summer night", "glowing embers from a forge", "dim candlelight in a gothic castle",
41
+ "midnight sky with bright starlight", "warm sunset in a rural village", "flickering light in a haunted house", "desert sunset with mirage-like glow",
42
+ "golden beams piercing through storm clouds"
43
+ ]
44
+
45
+ background_quick_list = [
46
+ "cars and people", "a cozy bed and a lamp", "a forest clearing with mist", "a bustling marketplace", "a quiet beach at dusk",
47
+ "an old, cobblestone street", "a futuristic cityscape", "a tranquil lake with mountains", "a mysterious cave entrance",
48
+ "bookshelves and plants in the background", "an ancient temple in ruins", "tall skyscrapers and neon signs", "a starry sky over a desert",
49
+ "a bustling cafΓ©", "rolling hills and farmland", "a modern living room with a fireplace", "an abandoned warehouse",
50
+ "a picturesque mountain range", "a starry night sky", "the interior of a futuristic spaceship", "the cluttered workshop of an inventor",
51
+ "the glowing embers of a bonfire", "a misty lake surrounded by trees", "an ornate palace hall", "a busy street market", "a vast desert landscape",
52
+ "a peaceful library corner", "bustling train station", "a mystical, enchanted forest", "an underwater reef with colorful fish", "a quiet rural village",
53
+ "a sandy beach with palm trees", "a vibrant coral reef, teeming with life", "snow-capped mountains in distance", "a stormy ocean, waves crashing",
54
+ "a rustic barn in open fields", "a futuristic lab with glowing screens", "a dark, abandoned castle", "the ruins of an ancient civilization",
55
+ "a bustling urban street in rain", "an elegant grand ballroom", "a sprawling field of wildflowers", "a dense jungle with sunlight filtering through",
56
+ "a dimly lit, vintage bar", "an ice cave with sparkling crystals", "a serene riverbank at sunset", "a narrow alley with graffiti walls",
57
+ "a peaceful zen garden with koi pond", "a high-tech control room", "a quiet mountain village at dawn", "a lighthouse on a rocky coast",
58
+ "a rainy street with flickering lights", "a frozen lake with ice formations", "an abandoned theme park", "a small fishing village on a pier",
59
+ "rolling sand dunes in a desert", "a dense forest with towering redwoods", "a snowy cabin in the mountains", "a mystical cave with bioluminescent plants",
60
+ "a castle courtyard under moonlight", "a bustling open-air night market", "an old train station with steam", "a tranquil waterfall surrounded by trees",
61
+ "a vineyard in the countryside", "a quaint medieval village", "a bustling harbor with boats", "a high-tech futuristic mall",
62
+ "a lush tropical rainforest"
63
+ ]
64
+
65
+ style_list = ['(No style)', 'Cinematic', 'Disney Charactor', 'Digital Art', 'Photographic (Default)', 'Fantasy art', 'Neonpunk', 'Enhance', 'Comic book', 'Lowpoly', 'Line art']
66
+
67
+ def clean_filename(prompt):
68
+ # Replace spaces with underscores
69
+ filename = prompt.replace(' ', '_')
70
+ # Remove or replace non-alphanumeric characters (except underscores)
71
+ filename = re.sub(r'[^a-zA-Z0-9_]', '', filename)
72
+ return filename + '.png'
73
+
74
+ output_dir = 'phm2_output_images'
75
+ if not os.path.exists(output_dir):
76
+ os.makedirs(output_dir)
77
+
78
+ def generate_unique_random_string(used_prompts):
79
+ while True:
80
+ prefix = random.choice(prefix_quick_list)
81
+ subject = random.choice(subject_quick_list)
82
+ illumination = random.choice(illumination_environment_quick_list)
83
+ background = random.choice(background_quick_list)
84
+
85
+ prompt = f"{prefix} {subject}. {illumination}. {background} in the background."
86
+ if prompt not in used_prompts:
87
+ used_prompts.add(prompt)
88
+ return {
89
+ "prompt": prompt,
90
+ "prefix": prefix,
91
+ "subject": subject,
92
+ "illumination": illumination,
93
+ "background": background
94
+ }
95
+
96
+ num_images = 10
97
+ used_prompts = set()
98
+
99
+ dataset_dict = {
100
+ "image": [],
101
+ "prefix": [],
102
+ "subject": [],
103
+ "illumination": [],
104
+ "background": [],
105
+ "prompt": [],
106
+ #"style_name": []
107
+ }
108
+
109
+ template_image_path = '/home/featurize/ConsistentID-SDXL/xiangxiang_IMG.jpeg'
110
+ template_image = handle_file(template_image_path)
111
+
112
+ client = Client("http://127.0.0.1:7860")
113
+
114
+ for _ in tqdm(range(num_images), desc="Processing prompts"):
115
+ prompt_details = generate_unique_random_string(used_prompts)
116
+ style_name = random.choice(style_list)
117
+
118
+ result = client.predict(
119
+ selected_template_images=template_image_path,
120
+ costum_image=template_image,
121
+ prompt=prompt_details["prompt"],
122
+ negative_prompt="nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry",
123
+ prompt_selected='A young, handsome boy in a wedding suit, with a slender figure and a cute face',
124
+ retouching=False,
125
+ width=864,
126
+ height=1152,
127
+ merge_steps=30,
128
+ seed_set=2024,
129
+ api_name="/process"
130
+ )
131
+
132
+ # Save image and update dataset_dict
133
+ image_path = result
134
+
135
+ image = Image.open(image_path)
136
+
137
+ dataset_dict["image"].append(image)
138
+ dataset_dict["prefix"].append(prompt_details["prefix"])
139
+ dataset_dict["subject"].append(prompt_details["subject"])
140
+ dataset_dict["illumination"].append(prompt_details["illumination"])
141
+ dataset_dict["background"].append(prompt_details["background"])
142
+ dataset_dict["prompt"].append(prompt_details["prompt"])
143
+ #dataset_dict["style_name"].append(style_name)
144
+
145
+ dataset = Dataset.from_dict(dataset_dict)
146
+ dataset.save_to_disk("csdxl_dataset")
147
+
148
+ from datasets import load_from_disk
149
+ load_from_disk("csdxl_dataset").push_to_hub("svjack/Prince_Xiang_ConsistentID_SDXL_10")