Spaces:
Running
Running
Upload 2 files
Browse files- app.py +1 -0
- prompt_generator.py +15 -7
app.py
CHANGED
|
@@ -258,6 +258,7 @@ def convert_text_to_prompt(
|
|
| 258 |
logger.error(f"Error in convert_text_to_prompt: {str(e)}")
|
| 259 |
return f"エラーが発生しました: {str(e)}", novel_text
|
| 260 |
|
|
|
|
| 261 |
def load_image_model():
|
| 262 |
"""画像生成モデルをロードする関数"""
|
| 263 |
global pipe, vae
|
|
|
|
| 258 |
logger.error(f"Error in convert_text_to_prompt: {str(e)}")
|
| 259 |
return f"エラーが発生しました: {str(e)}", novel_text
|
| 260 |
|
| 261 |
+
@spaces.GPU
|
| 262 |
def load_image_model():
|
| 263 |
"""画像生成モデルをロードする関数"""
|
| 264 |
global pipe, vae
|
prompt_generator.py
CHANGED
|
@@ -98,14 +98,22 @@ def load_model():
|
|
| 98 |
# HuggingFaceからモデルを直接ロードする
|
| 99 |
model_path = model_name
|
| 100 |
|
| 101 |
-
|
| 102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
logger.info(f"Using device: {device_map} for prompt generation model")
|
| 104 |
|
| 105 |
# モデルの読み込み
|
| 106 |
_model = AutoModelForCausalLM.from_pretrained(
|
| 107 |
model_path,
|
| 108 |
-
torch_dtype=
|
| 109 |
device_map=device_map,
|
| 110 |
use_cache=True,
|
| 111 |
low_cpu_mem_usage=True,
|
|
@@ -196,8 +204,8 @@ concept: イラストのコンセプトを考えます。小説の内容から
|
|
| 196 |
改行の場所も含めて、この順序と書式を厳密に守ってください。
|
| 197 |
各項目は上記の順序と書式で記述してください。具体的かつ詳細に説明し、十分な長さで考察してください(<think>タグ全体で600-800文字程度が望ましいです)
|
| 198 |
|
| 199 |
-
その後、思考結果に基づき<prompt>内に英単語を18
|
| 200 |
-
最も重要で適切なタグを選び、有効なプロンプトとなるよう考慮してください
|
| 201 |
|
| 202 |
### 使用可能な英単語
|
| 203 |
出力時には以下のタグを優先して使用し、足りない場合は一般的な英単語で補足します
|
|
@@ -211,7 +219,7 @@ masterpiece, best quality, highresなどの品質に関連するタグは後工
|
|
| 211 |
|
| 212 |
**ポーズ/構図**:
|
| 213 |
- 視点: from above, from behind, from below, looking at viewer, straight-on, looking at another, looking back, out of frame, on back, from side, looking to the side, feet out of frame, sideways, three quarter view, looking up, looking down, looking ahead, dutch angle, high up, from outside, pov, vanishing point
|
| 214 |
-
- 姿勢/行動: battle, chasing, fighting, leaning, running, sitting, squatting, standing, walking, arm up, arms up, against wall, against tree, holding, spread legs, lying, straddling, flying, holding weapon, clothes lift, hand on own cheek, scar on cheek, hand on another's cheek, kissing cheek, cheek-to-cheek, bandaid on cheek, finger to cheek, hands on another's cheeks, hand on own hip, hand over face, v, kneeling, arabesque (pose), body roll, indian style, standing on one leg, hugging own legs, seiza, nuzzle, unsheathing, holding weapon, holding sword, holding gun
|
| 215 |
|
| 216 |
**背景/環境**:
|
| 217 |
- 構図/芸術ジャンル: landscape, portrait, still life, group shot, cowboy shot, upper body, full body, detailed face, depth of field, intricate details, cinematic lighting, detailed background, detailed, extremely detailed, perfect composition, detailed face, solo focus, detailed face and body, character focus, intricate, sharp focus, male focus
|
|
@@ -228,7 +236,7 @@ masterpiece, best quality, highresなどの品質に関連するタグは後工
|
|
| 228 |
|
| 229 |
**身体的特徴/画面上の物体**:
|
| 230 |
- キャラクター属性/職業/クラス: student, teacher, soldier, knight, wizard, ninja, doctor, artist, musician, athlete, virtual youtuber, chibi, maid
|
| 231 |
-
- 表情: angry, blush stickers, drunk, grin, aroused, happy, sad, smile, laugh, crying, surprised, worried, nervous, serious, drunk, blush, aroused, :d, tongue out, sweatdrop, tongue out, :o, tears, tearing up
|
| 232 |
|
| 233 |
- 身体的特徴: {{'髪型/髪色': ['long hair', 'short hair', 'twintails', 'ponytail', 'braid', 'bun', 'curly hair', 'straight hair', 'messy hair', 'blonde hair', 'black hair', 'brown hair', 'red hair', 'blue hair', 'green hair', 'white hair', 'purple hair', 'grey hair', 'ahoge', 'sidelocks', 'side ponytail', 'perfect hair', 'tail', 'multicolored hair', 'wavy hair', 'bangs', 'blunt bangs', 'twintails', 'hair between eyes', 'very long hair', 'braid', 'curly hair', 'braided ponytail', 'hand in own hair', 'hair over one eye', 'hair flower', 'two-tone hair', 'streaked hair', 'two side up'], '目の色': ['blue eyes', 'brown eyes', 'green eyes', 'red eyes', 'black eyes', 'purple eyes', 'yellow eyes', 'heterochromia', 'detailed eyes', 'glowing eyes', 'beatiful eyes', 'closed eyes', 'one eye closed'], '身体部位': ['bare shoulders', 'bare arms', 'bare legs', 'barefoot', 'abs', 'flat chest', 'small breasts', 'medium breasts', 'asymmetrical breasts', 'pointy breasts', 'sagging breasts', 'clenched teeth', 'pointy ears', 'perfect anatomy', 'closed mouth', 'long sleeves', 'open mouth', 'pale skin', 'collarbone', 'midriff', 'perfect anatomy', 'bare arms', 'thighs', 'parted lips', 'tongue', 'tanlines', 'dot nose', 'goggles on head', 'armpits', 'nail polish', 'mole', 'feet', 'lips', 'dark-skinned female', 'zettai ryouiki', 'shiny skin'], '身体部位(獣人、擬人化時のみ使用)': ['animal ears', 'cat ears', 'horse ears', 'horse girl', 'fang', 'teeth', 'horns', 'tail'], '服装/装飾品': ['uniform', 'suit', 'dress', 'casual wear', 'formal wear', 'belt', 'detached sleeves', 'swimsuit', 'kimono', 'armor', 'hat', 'glasses', 'white shirt', 'shirt', 'jewelry', 'necklace', 'earrings', 'bracelet', 'watch', 'ribbon', 'hair ribbon', 'scarf', 'gloves', 'boots', 'high heels', 'hair ornament', 'jacket', 'glasses', 'skirt', 'long sleeves', 'short sleeves', 'thighhighs', 'underwear', 'school uniform', 'swimsuit', 'panties', 'hair bow', 'bikini', 'miniskirt', 'fingerless gloves', 'bowtie', 'serafuku', 'japanese clothes', 'choker', 'pants', 'wings', 'open clothes', 'pantyhose', 'pleated skirt', 'frills', 'necktie', 'shorts', 'collared shirt', 'leather armor', 'hairband', 'shoes', 'sleeveless', 'alternate costume', 'socks', 'fingering', 'denim shorts', 'epaulettes', 'santa costume', 'ribbon-trimmed sleeves', 'black bowtie', 'gym uniform', 'white bra', 'angel wings', 'crossdressing', 'cuffs', 'halo', 'high heels', 'apron', 'red bow', 'vest', 'open jacket', 'white panties', 'leotard', 'coat', 'black jacket', 'high heels', 'black pantyhose', 'see-through', 'miniskirt', 'elbow gloves', 'wide sleeves', 'white thighhighs', 'fur trim', 'plaid', 'one-piece swimsuit', 'maid headdress', 'ascot', 'high-waist skirt']}}
|
| 234 |
- 体液: blood, saliva, sweat, tears
|
|
|
|
| 98 |
# HuggingFaceからモデルを直接ロードする
|
| 99 |
model_path = model_name
|
| 100 |
|
| 101 |
+
is_spaces_environment = "SPACE_ID" in os.environ and os.environ.get("SYSTEM") == "spaces"
|
| 102 |
+
if is_spaces_environment:
|
| 103 |
+
# Spaces環境ではdevice_mapの設定を変更
|
| 104 |
+
device_map = None
|
| 105 |
+
torch_dtype = torch.float16
|
| 106 |
+
logger.info("Running in Huggingface Spaces environment")
|
| 107 |
+
else:
|
| 108 |
+
device_map = "auto" if torch.cuda.is_available() else "cpu"
|
| 109 |
+
torch_dtype = torch.bfloat16 if torch.cuda.is_available() and hasattr(torch, 'bfloat16') else torch.float16
|
| 110 |
+
logger.info(f"Using device: {device_map} for prompt generation model")
|
| 111 |
logger.info(f"Using device: {device_map} for prompt generation model")
|
| 112 |
|
| 113 |
# モデルの読み込み
|
| 114 |
_model = AutoModelForCausalLM.from_pretrained(
|
| 115 |
model_path,
|
| 116 |
+
torch_dtype=torch_dtype,
|
| 117 |
device_map=device_map,
|
| 118 |
use_cache=True,
|
| 119 |
low_cpu_mem_usage=True,
|
|
|
|
| 204 |
改行の場所も含めて、この順序と書式を厳密に守ってください。
|
| 205 |
各項目は上記の順序と書式で記述してください。具体的かつ詳細に説明し、十分な長さで考察してください(<think>タグ全体で600-800文字程度が望ましいです)
|
| 206 |
|
| 207 |
+
その後、思考結果に基づき<prompt>内に英単語を18単語ほどカンマで区切って出力してください。キャラクター名/シリーズ名は指定されていたら必ず含めます。
|
| 208 |
+
日本語は使用しないでください。 最も重要で適切なタグを選び、有効なプロンプトとなるよう考慮してください
|
| 209 |
|
| 210 |
### 使用可能な英単語
|
| 211 |
出力時には以下のタグを優先して使用し、足りない場合は一般的な英単語で補足します
|
|
|
|
| 219 |
|
| 220 |
**ポーズ/構図**:
|
| 221 |
- 視点: from above, from behind, from below, looking at viewer, straight-on, looking at another, looking back, out of frame, on back, from side, looking to the side, feet out of frame, sideways, three quarter view, looking up, looking down, looking ahead, dutch angle, high up, from outside, pov, vanishing point
|
| 222 |
+
- 姿勢/行動: battle, chasing, fighting, leaning, running, sitting, squatting, standing, walking, arm up, arms up, against wall, against tree, holding, spread legs, lying, straddling, flying, holding weapon, clothes lift, hand on own cheek, scar on cheek, hand on another's cheek, kissing cheek, cheek-to-cheek, bandaid on cheek, finger to cheek, hands on another's cheeks, hand on own hip, hand over face, v, kneeling, arabesque (pose), body roll, indian style, standing on one leg, hugging own legs, seiza, nuzzle, unsheathing, holding weapon, holding sword, holding gun, trembling
|
| 223 |
|
| 224 |
**背景/環境**:
|
| 225 |
- 構図/芸術ジャンル: landscape, portrait, still life, group shot, cowboy shot, upper body, full body, detailed face, depth of field, intricate details, cinematic lighting, detailed background, detailed, extremely detailed, perfect composition, detailed face, solo focus, detailed face and body, character focus, intricate, sharp focus, male focus
|
|
|
|
| 236 |
|
| 237 |
**身体的特徴/画面上の物体**:
|
| 238 |
- キャラクター属性/職業/クラス: student, teacher, soldier, knight, wizard, ninja, doctor, artist, musician, athlete, virtual youtuber, chibi, maid
|
| 239 |
+
- 表情: angry, blush stickers, drunk, grin, aroused, happy, sad, smile, laugh, crying, surprised, worried, nervous, serious, drunk, blush, aroused, :d, tongue out, sweatdrop, tongue out, :o, tears, tearing up, scared
|
| 240 |
|
| 241 |
- 身体的特徴: {{'髪型/髪色': ['long hair', 'short hair', 'twintails', 'ponytail', 'braid', 'bun', 'curly hair', 'straight hair', 'messy hair', 'blonde hair', 'black hair', 'brown hair', 'red hair', 'blue hair', 'green hair', 'white hair', 'purple hair', 'grey hair', 'ahoge', 'sidelocks', 'side ponytail', 'perfect hair', 'tail', 'multicolored hair', 'wavy hair', 'bangs', 'blunt bangs', 'twintails', 'hair between eyes', 'very long hair', 'braid', 'curly hair', 'braided ponytail', 'hand in own hair', 'hair over one eye', 'hair flower', 'two-tone hair', 'streaked hair', 'two side up'], '目の色': ['blue eyes', 'brown eyes', 'green eyes', 'red eyes', 'black eyes', 'purple eyes', 'yellow eyes', 'heterochromia', 'detailed eyes', 'glowing eyes', 'beatiful eyes', 'closed eyes', 'one eye closed'], '身体部位': ['bare shoulders', 'bare arms', 'bare legs', 'barefoot', 'abs', 'flat chest', 'small breasts', 'medium breasts', 'asymmetrical breasts', 'pointy breasts', 'sagging breasts', 'clenched teeth', 'pointy ears', 'perfect anatomy', 'closed mouth', 'long sleeves', 'open mouth', 'pale skin', 'collarbone', 'midriff', 'perfect anatomy', 'bare arms', 'thighs', 'parted lips', 'tongue', 'tanlines', 'dot nose', 'goggles on head', 'armpits', 'nail polish', 'mole', 'feet', 'lips', 'dark-skinned female', 'zettai ryouiki', 'shiny skin'], '身体部位(獣人、擬人化時のみ使用)': ['animal ears', 'cat ears', 'horse ears', 'horse girl', 'fang', 'teeth', 'horns', 'tail'], '服装/装飾品': ['uniform', 'suit', 'dress', 'casual wear', 'formal wear', 'belt', 'detached sleeves', 'swimsuit', 'kimono', 'armor', 'hat', 'glasses', 'white shirt', 'shirt', 'jewelry', 'necklace', 'earrings', 'bracelet', 'watch', 'ribbon', 'hair ribbon', 'scarf', 'gloves', 'boots', 'high heels', 'hair ornament', 'jacket', 'glasses', 'skirt', 'long sleeves', 'short sleeves', 'thighhighs', 'underwear', 'school uniform', 'swimsuit', 'panties', 'hair bow', 'bikini', 'miniskirt', 'fingerless gloves', 'bowtie', 'serafuku', 'japanese clothes', 'choker', 'pants', 'wings', 'open clothes', 'pantyhose', 'pleated skirt', 'frills', 'necktie', 'shorts', 'collared shirt', 'leather armor', 'hairband', 'shoes', 'sleeveless', 'alternate costume', 'socks', 'fingering', 'denim shorts', 'epaulettes', 'santa costume', 'ribbon-trimmed sleeves', 'black bowtie', 'gym uniform', 'white bra', 'angel wings', 'crossdressing', 'cuffs', 'halo', 'high heels', 'apron', 'red bow', 'vest', 'open jacket', 'white panties', 'leotard', 'coat', 'black jacket', 'high heels', 'black pantyhose', 'see-through', 'miniskirt', 'elbow gloves', 'wide sleeves', 'white thighhighs', 'fur trim', 'plaid', 'one-piece swimsuit', 'maid headdress', 'ascot', 'high-waist skirt']}}
|
| 242 |
- 体液: blood, saliva, sweat, tears
|