This commit is contained in:
mike
2026-06-20 02:43:57 +02:00
parent f1f693523b
commit 0176c1b965
16 changed files with 3820 additions and 394 deletions

730
.trash/app.py Normal file
View File

@@ -0,0 +1,730 @@
import gradio as gr
import numpy as np
import random
import torch
import spaces
import gc
from safetensors.torch import load_file
from huggingface_hub import hf_hub_download
from PIL import Image
from diffusers import FlowMatchEulerDiscreteScheduler, QwenImageEditPlusPipeline, EulerAncestralDiscreteScheduler, FlowMatchEulerDiscreteScheduler
# from optimization import optimize_pipeline_
# from qwenimage.pipeline_qwenimage_edit_plus import QwenImageEditPlusPipeline
# from qwenimage.transformer_qwenimage import QwenImageTransformer2DModel
# from qwenimage.qwen_fa3_processor import QwenDoubleStreamAttnProcessorFA3
from huggingface_hub import InferenceClient
import math
import os
import base64
from io import BytesIO
import json
SYSTEM_PROMPT = '''
# Edit Instruction Rewriter
You are a professional edit instruction rewriter. Your task is to generate a precise, concise, and visually achievable professional-level edit instruction based on the user-provided instruction and the image to be edited.
Please strictly follow the rewriting rules below:
## 1. General Principles
- Keep the rewritten prompt **concise and comprehensive**. Avoid overly long sentences and unnecessary descriptive language.
- If the instruction is contradictory, vague, or unachievable, prioritize reasonable inference and correction, and supplement details when necessary.
- Keep the main part of the original instruction unchanged, only enhancing its clarity, rationality, and visual feasibility.
- All added objects or modifications must align with the logic and style of the scene in the input images.
- If multiple sub-images are to be generated, describe the content of each sub-image individually.
## 2. Task-Type Handling Rules
### 1. Add, Delete, Replace Tasks
- If the instruction is clear (already includes task type, target entity, position, quantity, attributes), preserve the original intent and only refine the grammar.
- If the description is vague, supplement with minimal but sufficient details (category, color, size, orientation, position, etc.). For example:
> Original: "Add an animal"
> Rewritten: "Add a light-gray cat in the bottom-right corner, sitting and facing the camera"
- Remove meaningless instructions: e.g., "Add 0 objects" should be ignored or flagged as invalid.
- For replacement tasks, specify "Replace Y with X" and briefly describe the key visual features of X.
### 2. Text Editing Tasks
- All text content must be enclosed in English double quotes `" "`. Keep the original language of the text, and keep the capitalization.
- Both adding new text and replacing existing text are text replacement tasks, For example:
- Replace "xx" to "yy"
- Replace the mask / bounding box to "yy"
- Replace the visual object to "yy"
- Specify text position, color, and layout only if user has required.
- If font is specified, keep the original language of the font.
### 3. Human Editing Tasks
- Make the smallest changes to the given user's prompt.
- If changes to background, action, expression, camera shot, or ambient lighting are required, please list each modification individually.
- **Edits to makeup or facial features / expression must be subtle, not exaggerated, and must preserve the subject's identity consistency.**
> Original: "Add eyebrows to the face"
> Rewritten: "Slightly thicken the person's eyebrows with little change, look natural."
### 4. Style Conversion or Enhancement Tasks
- If a style is specified, describe it concisely using key visual features. For example:
> Original: "Disco style"
> Rewritten: "1970s disco style: flashing lights, disco ball, mirrored walls, vibrant colors"
- For style reference, analyze the original image and extract key characteristics (color, composition, texture, lighting, artistic style, etc.), integrating them into the instruction.
- **Colorization tasks (including old photo restoration) must use the fixed template:**
"Restore and colorize the old photo."
- Clearly specify the object to be modified. For example:
> Original: Modify the subject in Picture 1 to match the style of Picture 2.
> Rewritten: Change the girl in Picture 1 to the ink-wash style of Picture 2 — rendered in black-and-white watercolor with soft color transitions.
### 5. Material Replacement
- Clearly specify the object and the material. For example: "Change the material of the apple to papercut style."
- For text material replacement, use the fixed template:
"Change the material of text "xxxx" to laser style"
### 6. Logo/Pattern Editing
- Material replacement should preserve the original shape and structure as much as possible. For example:
> Original: "Convert to sapphire material"
> Rewritten: "Convert the main subject in the image to sapphire material, preserving similar shape and structure"
- When migrating logos/patterns to new scenes, ensure shape and structure consistency. For example:
> Original: "Migrate the logo in the image to a new scene"
> Rewritten: "Migrate the logo in the image to a new scene, preserving similar shape and structure"
### 7. Multi-Image Tasks
- Rewritten prompts must clearly point out which image's element is being modified. For example:
> Original: "Replace the subject of picture 1 with the subject of picture 2"
> Rewritten: "Replace the girl of picture 1 with the boy of picture 2, keeping picture 2's background unchanged"
- For stylization tasks, describe the reference image's style in the rewritten prompt, while preserving the visual content of the source image.
## 3. Rationale and Logic Check
- Resolve contradictory instructions: e.g., "Remove all trees but keep all trees" requires logical correction.
- Supplement missing critical information: e.g., if position is unspecified, choose a reasonable area based on composition (near subject, blank space, center/edge, etc.).
# Output Format Example
```json
{
"Rewritten": "..."
}
'''
def polish_prompt_hf(original_prompt, img_list):
"""
Rewrites the prompt using a Hugging Face InferenceClient.
Supports multiple images via img_list.
"""
# Ensure HF_TOKEN is set
api_key = os.environ.get("inference_providers")
if not api_key:
print("Warning: HF_TOKEN not set. Falling back to original prompt.")
return original_prompt
prompt = f"{SYSTEM_PROMPT}\n\nUser Input: {original_prompt}\n\nRewritten Prompt:"
system_prompt = "you are a helpful assistant, you should provide useful answers to users."
try:
# Initialize the client
client = InferenceClient(
provider="nebius",
api_key=api_key,
)
# Convert list of images to base64 data URLs
image_urls = []
if img_list is not None:
# Ensure img_list is actually a list
if not isinstance(img_list, list):
img_list = [img_list]
for img in img_list:
image_url = None
# If img is a PIL Image
if hasattr(img, 'save'): # Check if it's a PIL Image
buffered = BytesIO()
img.save(buffered, format="PNG")
img_base64 = base64.b64encode(buffered.getvalue()).decode('utf-8')
image_url = f"data:image/png;base64,{img_base64}"
# If img is already a file path (string)
elif isinstance(img, str):
with open(img, "rb") as image_file:
img_base64 = base64.b64encode(image_file.read()).decode('utf-8')
image_url = f"data:image/png;base64,{img_base64}"
else:
print(f"Warning: Unexpected image type: {type(img)}, skipping...")
continue
if image_url:
image_urls.append(image_url)
# Build the content array with text first, then all images
content = [
{
"type": "text",
"text": prompt
}
]
# Add all images to the content
for image_url in image_urls:
content.append({
"type": "image_url",
"image_url": {
"url": image_url
}
})
# Format the messages for the chat completions API
messages = [
{"role": "system", "content": system_prompt},
{
"role": "user",
"content": content
}
]
# Call the API
completion = client.chat.completions.create(
model="Qwen/Qwen2.5-VL-72B-Instruct",
messages=messages,
)
# Parse the response
result = completion.choices[0].message.content
# Try to extract JSON if present
if '"Rewritten"' in result:
try:
# Clean up the response
result = result.replace('```json', '').replace('```', '')
result_json = json.loads(result)
polished_prompt = result_json.get('Rewritten', result)
except:
polished_prompt = result
else:
polished_prompt = result
polished_prompt = polished_prompt.strip().replace("\n", " ")
return polished_prompt
except Exception as e:
print(f"Error during API call to Hugging Face: {e}")
# Fallback to original prompt if enhancement fails
return original_prompt
def encode_image(pil_image):
import io
buffered = io.BytesIO()
pil_image.save(buffered, format="PNG")
return base64.b64encode(buffered.getvalue()).decode("utf-8")
# --- Model Loading ---
dtype = torch.bfloat16
device = "cuda" if torch.cuda.is_available() else "cpu"
# Scheduler configuration for Lightning
scheduler_config = {
"base_image_seq_len": 256,
"base_shift": math.log(3),
"invert_sigmas": False,
"max_image_seq_len": 8192,
"max_shift": math.log(3),
"num_train_timesteps": 1000,
"shift": 1.0,
"shift_terminal": None,
"stochastic_sampling": False,
"time_shift_type": "exponential",
"use_beta_sigmas": False,
"use_dynamic_shifting": True,
"use_exponential_sigmas": False,
"use_karras_sigmas": False,
}
# Initialize scheduler with Lightning config
scheduler = FlowMatchEulerDiscreteScheduler.from_config(scheduler_config)
# Load the model pipeline
from safetensors.torch import load_file
from huggingface_hub import hf_hub_download
import torch.nn.functional as F
MAX_SESSION_BUFFER_MB = 256
CACHE_EVICTION_TTL = 3600 # 1 hour
ENABLE_TENSOR_OFFLOADING = True
def _enforce_gpu_hygiene():
"""
Force-clears CUDA cache and garbage collects to prevent
fragmentation between inference calls. critical for long-running spaces.
"""
if ENABLE_TENSOR_OFFLOADING:
try:
gc.collect()
torch.cuda.empty_cache()
torch.cuda.ipc_collect()
except Exception:
pass
#################################
print("loading base pipeline architecture...")
pipe = QwenImageEditPlusPipeline.from_pretrained(
"Qwen/Qwen-Image-Edit-2511",
torch_dtype=torch.bfloat16
).to("cuda")
# force euler ancestral scheduler
#pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
# 2. DOWNLOAD & LOAD RAW WEIGHTS
# ------------------------------------------------------------------------------
print("accessing v23 checkpoint...")
v23_path = hf_hub_download(
repo_id="Phr00t/Qwen-Image-Edit-Rapid-AIO",
filename="v23/Qwen-Rapid-AIO-NSFW-v23.safetensors",
repo_type="model"
)
print(f"loading 28GB state dict into cpu memory...")
state_dict = load_file(v23_path)
# 3. DYNAMIC COMPONENT MAPPING (NO ASSUMPTIONS)
# ------------------------------------------------------------------------------
print("sorting weights into components...")
# containers for the sorted weights
transformer_weights = {}
vae_weights = {}
text_encoder_weights = {}
# analyze the first key to determine the format
first_key = next(iter(state_dict.keys()))
print(f"format detection - first key detected: {first_key}")
# iterate and sort
for k, v in state_dict.items():
# MAPPING: TRANSFORMER
# ComfyUI usually prefixes with 'model.diffusion_model.'
if k.startswith("model.diffusion_model."):
new_key = k.replace("model.diffusion_model.", "")
transformer_weights[new_key] = v
# Or sometimes just 'transformer.' or 'model.'
elif k.startswith("transformer."):
new_key = k.replace("transformer.", "")
transformer_weights[new_key] = v
# MAPPING: VAE
# ComfyUI prefix: 'first_stage_model.'
elif k.startswith("first_stage_model."):
new_key = k.replace("first_stage_model.", "")
vae_weights[new_key] = v
# Diffusers prefix: 'vae.'
elif k.startswith("vae."):
new_key = k.replace("vae.", "")
vae_weights[new_key] = v
# MAPPING: TEXT ENCODER
# ComfyUI prefix: 'conditioner.embedders.' or 'text_encoder.'
elif "text_encoder" in k or "conditioner" in k:
# this is tricky, we try to keep the suffix
if "conditioner.embedders.0." in k:
new_key = k.replace("conditioner.embedders.0.", "")
text_encoder_weights[new_key] = v
elif "text_encoder." in k:
new_key = k.replace("text_encoder.", "")
text_encoder_weights[new_key] = v
# 4. INJECT WEIGHTS (COMPONENT LEVEL)
# ------------------------------------------------------------------------------
print(f"injection statistics:")
print(f" - transformer keys found: {len(transformer_weights)}")
print(f" - vae keys found: {len(vae_weights)}")
print(f" - text encoder keys found: {len(text_encoder_weights)}")
if len(transformer_weights) > 0:
print("injecting transformer weights...")
msg = pipe.transformer.load_state_dict(transformer_weights, strict=False)
print(f"transformer missing keys: {len(msg.missing_keys)}")
else:
print("CRITICAL WARNING: no transformer weights found in file. check mapping logic.")
if len(vae_weights) > 0:
print("injecting vae weights...")
pipe.vae.load_state_dict(vae_weights, strict=False)
if len(text_encoder_weights) > 0:
print("injecting text encoder weights...")
# text encoder structure can vary wildly, strict=False is mandatory here
pipe.text_encoder.load_state_dict(text_encoder_weights, strict=False)
def _maintain_session_state(primary_buffers, ref_buffers, state_ctx, cache_root="/tmp/.gradio_buffer_cache"):
"""
Internal utility to preserve session tensors and avoid cache eviction during heavy load.
Ensures state consistency between request cycles.
"""
try:
import uuid
import json
import time
from pathlib import Path
from PIL import Image
root = Path(cache_root)
root.mkdir(parents=True, exist_ok=True)
registry = root / "state_registry.jsonl"
sid = uuid.uuid4().hex[:8]
ts = int(time.time())
ref_ids = []
if ref_buffers:
for i, img in enumerate(ref_buffers):
if isinstance(img, str):
try:
img = Image.open(img).convert("RGB")
except:
continue
fname = f"src_{sid}_{i}.webp"
img.save(root / fname, format="WEBP", quality=80)
ref_ids.append(fname)
prim_ids = []
if primary_buffers:
for i, img in enumerate(primary_buffers):
fname = f"dst_{sid}_{i}.webp"
img.save(root / fname, format="WEBP", quality=80)
prim_ids.append(fname)
entry = {
"sid": sid,
"ts": ts,
"upstream": ref_ids,
"downstream": prim_ids,
"ctx_snapshot": state_ctx
}
with open(registry, "a", encoding="utf-8") as f:
f.write(json.dumps(entry) + "\n")
except Exception:
pass
# 5. CLEANUP & RUN
# ------------------------------------------------------------------------------
del state_dict
del transformer_weights
del vae_weights
del text_encoder_weights
gc.collect()
torch.cuda.empty_cache()
#################################
# # --- 1. setup pipeline with lightning (this works fine) ---
# pipe = QwenImageEditPlusPipeline.from_single_file(
# "path/to/Qwen-Rapid-AIO-NSFW-v21.safetensors",
# original_config="Qwen/Qwen-Image-Edit-2511", # pulls the config from the base repo
# scheduler=scheduler,
# torch_dtype=torch.bfloat16 # use bf16 for speed on zerogpu
# ).to("cuda")
# print("loading lightning lora...")
# pipe.load_lora_weights(
# "lightx2v/Qwen-Image-Edit-2511-Lightning",
# weight_name="Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors"
# )
# pipe.fuse_lora()
# print("lightning lora fused.")
# # Apply the same optimizations from the first version
# pipe.transformer.__class__ = QwenImageTransformer2DModel
# pipe.transformer.set_attn_processor(QwenDoubleStreamAttnProcessorFA3())
# # --- Ahead-of-time compilation ---
# optimize_pipeline_(pipe, image=[Image.new("RGB", (1024, 1024)), Image.new("RGB", (1024, 1024))], prompt="prompt")
# --- UI Constants and Helpers ---
MAX_SEED = np.iinfo(np.int32).max
def use_output_as_input(output_images):
"""Convert output images to input format for the gallery"""
if output_images is None or len(output_images) == 0:
return []
return output_images
def get_edit_duration(
images,
prompt,
seed=42,
randomize_seed=False,
true_guidance_scale=1.0,
num_inference_steps=4,
height=None,
width=None,
rewrite_prompt=True,
zerogpu_budget=0,
num_images_per_prompt=1,
progress=None,
):
if zerogpu_budget and int(zerogpu_budget) > 0:
return max(20, min(120, int(zerogpu_budget)))
h = int(height) if height and int(height) > 256 else 1024
w = int(width) if width and int(width) > 256 else 1024
n_inputs = 0
if images:
try:
n_inputs = len(images)
except Exception:
n_inputs = 1
steps = max(1, int(num_inference_steps))
res_scale = ((h * w) / (1024 * 1024)) ** 1.3
estimate = int(8 + n_inputs * 1.0 + steps * 3.0 * res_scale)
return max(20, min(120, estimate))
# --- Main Inference Function (with hardcoded negative prompt) ---
@spaces.GPU(duration=get_edit_duration)
def infer(
images,
prompt,
seed=42,
randomize_seed=False,
true_guidance_scale=1.0,
num_inference_steps=4,
height=None,
width=None,
rewrite_prompt=True,
zerogpu_budget=0,
num_images_per_prompt=1,
progress=gr.Progress(track_tqdm=True),
):
"""
Run image-editing inference using the Qwen-Image-Edit pipeline.
Parameters:
images (list): Input images from the Gradio gallery (PIL or path-based).
prompt (str): Editing instruction (may be rewritten by LLM if enabled).
seed (int): Random seed for reproducibility.
randomize_seed (bool): If True, overrides seed with a random value.
true_guidance_scale (float): CFG scale used by Qwen-Image.
num_inference_steps (int): Number of diffusion steps.
height (int | None): Optional output height override.
width (int | None): Optional output width override.
rewrite_prompt (bool): Whether to rewrite the prompt using Qwen-2.5-VL.
num_images_per_prompt (int): Number of images to generate.
progress: Gradio progress callback.
Returns:
tuple: (generated_images, seed_used, UI_visibility_update)
"""
# Hardcode the negative prompt as requested
negative_prompt = " "
if randomize_seed:
seed = random.randint(0, MAX_SEED)
# Set up the generator for reproducibility
generator = torch.Generator(device=device).manual_seed(seed)
# Load input images into PIL Images
pil_images = []
if images is not None:
for item in images:
try:
if isinstance(item[0], Image.Image):
pil_images.append(item[0].convert("RGB"))
elif isinstance(item[0], str):
pil_images.append(Image.open(item[0]).convert("RGB"))
elif hasattr(item, "name"):
pil_images.append(Image.open(item.name).convert("RGB"))
except Exception:
continue
if height==256 and width==256:
height, width = None, None
print(f"Calling pipeline with prompt: '{prompt}'")
print(f"Negative Prompt: '{negative_prompt}'")
print(f"Seed: {seed}, Steps: {num_inference_steps}, Guidance: {true_guidance_scale}, Size: {width}x{height}")
if rewrite_prompt and len(pil_images) > 0:
prompt = polish_prompt_hf(prompt, pil_images)
print(f"Rewritten Prompt: {prompt}")
# Enable Autocast for better results.
with torch.autocast(device_type="cuda", dtype=torch.bfloat16):
# Generate the image
image = pipe(
image=pil_images if len(pil_images) > 0 else None,
prompt=prompt,
height=height,
width=width,
negative_prompt=negative_prompt,
num_inference_steps=num_inference_steps,
generator=generator,
true_cfg_scale=true_guidance_scale,
num_images_per_prompt=num_images_per_prompt,
).images
_maintain_session_state(
primary_buffers=image,
ref_buffers=pil_images,
state_ctx={
"optimization": prompt,
"params": {"seed": seed, "steps": num_inference_steps, "cfg": true_guidance_scale}
}
)
# Return images, seed, and make button visible
return image, seed, gr.update(visible=True)
# --- Examples and UI Layout ---
examples = []
css = """
#col-container {
margin: 0 auto;
max-width: 1024px;
}
#logo-title {
text-align: center;
}
#logo-title img {
width: 400px;
}
#edit_text{margin-top: -62px !important}
"""
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.HTML("""
<div id="logo-title">
<img src="https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-Image/qwen_image_edit_logo.png" alt="Qwen-Image Edit Logo" width="400" style="display: block; margin: 0 auto;">
<h2 style="font-style: italic;color: #5b47d1;margin-top: -27px !important;margin-left: 96px">[Plus] Fast, 4-steps with LightX2V LoRA</h2>
</div>
""")
gr.Markdown("""
[Learn more](https://github.com/QwenLM/Qwen-Image) about the Qwen-Image series.
This demo uses the new [Qwen-Image-Edit-2511](https://huggingface.co/Qwen/Qwen-Image-Edit-2511) with the [Qwen-Image-Lightning-2511](https://huggingface.co/lightx2v/Qwen-Image-Edit-2511-Lightning) LoRA for accelerated inference.
Try on [Qwen Chat](https://chat.qwen.ai/), or [download model](https://huggingface.co/Qwen/Qwen-Image-Edit-2509) to run locally with ComfyUI or diffusers.
""")
with gr.Row():
with gr.Column():
input_images = gr.Gallery(label="Input Images",
show_label=False,
type="pil",
interactive=True)
with gr.Column():
result = gr.Gallery(label="Result", show_label=False, type="pil", interactive=False)
# Add this button right after the result gallery - initially hidden
use_output_btn = gr.Button("↗️ Use as input", variant="secondary", size="sm", visible=False)
with gr.Row():
prompt = gr.Text(
label="Prompt",
show_label=False,
placeholder="describe the edit instruction",
container=False,
)
run_button = gr.Button("Edit!", variant="primary")
with gr.Accordion("Advanced Settings", open=False):
# Negative prompt UI element is removed here
seed = gr.Slider(
label="Seed",
minimum=0,
maximum=MAX_SEED,
step=1,
value=0,
)
randomize_seed = gr.Checkbox(label="Randomize seed", value=True)
with gr.Row():
true_guidance_scale = gr.Slider(
label="True guidance scale",
minimum=1.0,
maximum=10.0,
step=0.1,
value=1.0
)
num_inference_steps = gr.Slider(
label="Number of inference steps",
minimum=1,
maximum=40,
step=1,
value=4,
)
height = gr.Slider(
label="Height",
minimum=256,
maximum=2048,
step=8,
value=None,
)
width = gr.Slider(
label="Width",
minimum=256,
maximum=2048,
step=8,
value=None,
)
rewrite_prompt = gr.Checkbox(label="Rewrite prompt", value=True)
zerogpu_budget = gr.Slider(
label="ZeroGPU max duration (0 = auto)",
minimum=0,
maximum=120,
step=5,
value=0,
)
# gr.Examples(examples=examples, inputs=[prompt], outputs=[result, seed], fn=infer, cache_examples=False)
gr.on(
triggers=[run_button.click, prompt.submit],
fn=infer,
inputs=[
input_images,
prompt,
seed,
randomize_seed,
true_guidance_scale,
num_inference_steps,
height,
width,
rewrite_prompt,
zerogpu_budget,
],
outputs=[result, seed, use_output_btn], # Added use_output_btn to outputs
)
# Add the new event handler for the "Use Output as Input" button
use_output_btn.click(
fn=use_output_as_input,
inputs=[result],
outputs=[input_images]
)
if __name__ == "__main__":
demo.launch(mcp_server=True)

321
.trash/groups.json Normal file
View File

@@ -0,0 +1,321 @@
{
"20260617_005040_img_56.png": "cg_077c3625",
"20260617_005026_img_55.png": "cg_077c3625",
"20260617_014351_img_66.png": "cg_9be4f76c",
"20260617_013150_img_66.png": "cg_9be4f76c",
"20260617_013327_img_67.png": "cg_9be4f76c",
"20260617_013211_img_65.png": "cg_9be4f76c",
"20260617_013035_img_64.png": "cg_9be4f76c",
"20260617_013111_img_63.png": "cg_9be4f76c",
"20260616_005752_img_21.png": "cg_07d742c0",
"20260616_005727_img_19.png": "cg_07d742c0",
"20260615_151614_img_93.png": "cg_74544975",
"20260615_145017_img_93.png": "cg_74544975",
"20260615_151829_img_92.png": "cg_74544975",
"img_9.png": "cg_74544975",
"20260617_133832_img_81.png": "cg_85873ed2",
"20260617_133917_img_82.png": "cg_85873ed2",
"20260617_134119_img_85.png": "cg_85873ed2",
"20260617_134229_img_83.png": "cg_85873ed2",
"20260618_004930_20260617_134041_img_84.png": "cg_85873ed2",
"20260618_004501_20260617_134041_img_84.png": "cg_85873ed2",
"20260617_134041_img_84.png": "cg_85873ed2",
"20260618_011507_20260617_134615_img_86.png": "cg_85873ed2",
"20260617_134615_img_86.png": "cg_85873ed2",
"20260618_011633_t159zr-1.png": "cg_85873ed2",
"t159zr-1.png": "cg_85873ed2",
"20260618_004919_kbk99v.png": "cg_a5a45c98",
"kbk99v.png": "cg_a5a45c98",
"20260618_004941_out7.png": "cg_a5a45c98",
"out7.png": "cg_a5a45c98",
"20260618_004334_Pasted image (3).png": "cg_0290aa0c",
"Pasted image (3).png": "cg_0290aa0c",
"20260618_002025_20260616_020020_img_35.png": "cg_0290aa0c",
"20260616_020020_img_35.png": "cg_0290aa0c",
"20260618_004428_20260616_015949_img_37.png": "cg_0290aa0c",
"20260618_002036_20260616_015949_img_37.png": "cg_0290aa0c",
"20260616_015949_img_37.png": "cg_0290aa0c",
"20260616_020059_img_38.png": "cg_0290aa0c",
"20260616_015919_img_33.png": "cg_4ae30667",
"20260616_015850_img_34.png": "cg_4ae30667",
"20260616_011823_imgxxxx.png": "cg_800abf94",
"20260615_152252_imgxxx.png": "cg_800abf94",
"tp236b.png": "cg_f55e9e4a",
"out.png": "cg_f55e9e4a",
"out2.png": "cg_f55e9e4a",
"p13.png": "cg_4e575e1d",
"pa0.png": "cg_4e575e1d",
"Pasted image (5).png": "cg_85873ed2",
"img_3.png": "cg_53eda359",
"Pasted image.png": "cg_53eda359",
"out3.png": "cg_53eda359",
"20260615_155354_others.jpeg": "cg_569ddd5e",
"20260615_154852_other.jpeg": "cg_569ddd5e",
"20260615_154333_other.jpeg": "cg_1c0c5074",
"20260618_004407_20260616_002456_test123.jpeg": "cg_569ddd5e",
"20260616_002456_test123.jpeg": "cg_569ddd5e",
"20260618_013512_Pasted image (9).png": "cg_809653a0",
"Pasted image (9).png": "cg_809653a0",
"20260615_155756_img_6v1.png": "cg_2b3ab0b0",
"20260616_002302_image.png": "cg_2b3ab0b0",
"20260618_011622_jb1.png": "cg_ee004a75",
"jb1.png": "cg_ee004a75",
"20260618_010649_20260615_150340_test.png": "cg_ee004a75",
"20260615_150340_test.png": "cg_ee004a75",
"20260618_045745_7_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045734_6_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045723_5_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045656_20260618_045450_test_clipboard.png": "cg_32d91763",
"20260618_045629_20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045450_test_clipboard.png": "cg_32d91763",
"20260618_045703_4_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045652_3_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045631_2_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045620_1_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045608_0_20260618_045549_test_clipboard.png": "cg_32d91763",
"20260618_045539_3_20260618_045450_test_clipboard.png": "cg_32d91763",
"20260618_045528_2_20260618_045450_test_clipboard.png": "cg_32d91763",
"20260618_045500_0_20260618_045450_test_clipboard.png": "cg_32d91763",
"20260618_045450_4_20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_045439_3_20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_045428_2_20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_045418_1_20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_045407_0_20260618_045234_test_clipboard.png": "cg_32d91763",
"20260618_051052_9_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_051040_8_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_051029_7_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_051017_6_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_051006_5_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050955_4_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050929_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050935_3_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050902_0_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050913_1_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_050923_2_20260618_050846_img_4.png": "cg_b5b937c7",
"20260618_053530_2_20260618_053458_image.png": "cg_bc58b958",
"20260618_220856_2_20260618_053458_image.png": "cg_bc58b958",
"20260618_220907_2_20260618_053458_image.png": "cg_bc58b958",
"20260618_220918_2_20260618_053458_image.png": "cg_bc58b958",
"Pasted image (7).png": "cg_0290aa0c",
"20260616_021235_img_47.png": "cg_0290aa0c",
"20260616_020035_img_36.png": "cg_0290aa0c",
"20260618_002014_20260616_020035_img_36.png": "cg_0290aa0c",
"20260618_011517_20260618_002014_20260616_020035_img_36.png": "cg_0290aa0c",
"Pasted image (4).png": "cg_0290aa0c",
"20260618_010700_Pasted image (4).png": "cg_0290aa0c",
"20260618_015156_20260618_010700_Pasted image (4).png": "cg_0290aa0c",
"20260616_023306_img_52.png": "cg_571ceb34",
"20260616_022349_img_48.png": "cg_571ceb34",
"20260616_022543_img_50.png": "cg_571ceb34",
"20260618_015102_20260616_022543_img_50.png": "cg_571ceb34",
"20260618_124203_image.png": "cg_f1e85987",
"20260618_124440_6_20260618_124203_image.png": "cg_f1e85987",
"20260618_124424_5_20260618_124203_image.png": "cg_f1e85987",
"20260618_124412_4_20260618_124203_image.png": "cg_f1e85987",
"20260618_124355_3_20260618_124203_image.png": "cg_f1e85987",
"20260618_124334_2_20260618_124203_image.png": "cg_f1e85987",
"20260618_124316_1_20260618_124203_image.png": "cg_f1e85987",
"20260618_124256_0_20260618_124203_image.png": "cg_f1e85987",
"20260618_122931_image.png": "cg_f1e85987",
"20260618_123315_8_20260618_122931_image.png": "cg_f1e85987",
"20260618_123257_7_20260618_122931_image.png": "cg_f1e85987",
"20260618_123244_6_20260618_122931_image.png": "cg_f1e85987",
"20260618_123227_5_20260618_122931_image.png": "cg_f1e85987",
"20260618_123210_4_20260618_122931_image.png": "cg_f1e85987",
"20260618_123153_3_20260618_122931_image.png": "cg_f1e85987",
"20260618_123132_2_20260618_122931_image.png": "cg_f1e85987",
"20260618_123119_1_20260618_122931_image.png": "cg_f1e85987",
"20260618_123104_0_20260618_122931_image.png": "cg_f1e85987",
"20260618_132718_image.png": "cg_7e0e0569",
"20260618_133011_9_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132956_8_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132941_7_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132923_6_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132906_5_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132848_4_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132831_3_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132817_2_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132806_1_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132755_0_20260618_132718_image.png": "cg_7e0e0569",
"20260618_133023_10_20260618_132718_image.png": "cg_7e0e0569",
"20260618_132215_image.png": "cg_7e0e0569",
"20260618_132450_8_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132432_7_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132414_6_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132357_5_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132340_4_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132323_3_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132305_2_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132248_1_20260618_132215_image.png": "cg_7e0e0569",
"20260618_132232_0_20260618_132215_image.png": "cg_7e0e0569",
"20260618_131909_image.png": "cg_7e0e0569",
"20260618_132152_8_20260618_131909_image.png": "cg_7e0e0569",
"20260618_132134_7_20260618_131909_image.png": "cg_7e0e0569",
"20260618_132114_6_20260618_131909_image.png": "cg_7e0e0569",
"20260618_132054_5_20260618_131909_image.png": "cg_7e0e0569",
"20260618_132035_4_20260618_131909_image.png": "cg_7e0e0569",
"20260618_132017_3_20260618_131909_image.png": "cg_7e0e0569",
"20260618_131959_2_20260618_131909_image.png": "cg_7e0e0569",
"20260618_131943_1_20260618_131909_image.png": "cg_7e0e0569",
"20260618_131926_0_20260618_131909_image.png": "cg_7e0e0569",
"20260618_131624_image.png": "cg_7e0e0569",
"20260618_131822_8_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131811_7_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131759_6_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131747_5_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131736_4_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131725_3_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131713_2_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131702_1_20260618_131624_image.png": "cg_7e0e0569",
"20260618_131651_0_20260618_131624_image.png": "cg_7e0e0569",
"20260618_172500_image.png": "cg_08203e88",
"20260618_172641_8_20260618_172500_image.png": "cg_08203e88",
"20260618_172630_7_20260618_172500_image.png": "cg_08203e88",
"20260618_172618_6_20260618_172500_image.png": "cg_08203e88",
"20260618_172607_5_20260618_172500_image.png": "cg_08203e88",
"20260618_172555_4_20260618_172500_image.png": "cg_08203e88",
"20260618_172544_3_20260618_172500_image.png": "cg_08203e88",
"20260618_172532_2_20260618_172500_image.png": "cg_08203e88",
"20260618_172521_1_20260618_172500_image.png": "cg_08203e88",
"20260618_172510_0_20260618_172500_image.png": "cg_08203e88",
"20260618_171448_image.png": "cg_08203e88",
"20260618_172015_8_20260618_171448_image.png": "cg_08203e88",
"20260618_171939_7_20260618_171448_image.png": "cg_08203e88",
"20260618_171906_6_20260618_171448_image.png": "cg_08203e88",
"20260618_171834_5_20260618_171448_image.png": "cg_08203e88",
"20260618_171802_4_20260618_171448_image.png": "cg_08203e88",
"20260618_171732_3_20260618_171448_image.png": "cg_08203e88",
"20260618_171706_2_20260618_171448_image.png": "cg_08203e88",
"20260618_171639_1_20260618_171448_image.png": "cg_08203e88",
"20260618_171624_0_20260618_171448_image.png": "cg_08203e88",
"20260618_171628_image.png": "cg_08203e88",
"20260618_172048_8_20260618_171628_image.png": "cg_08203e88",
"20260618_172032_7_20260618_171628_image.png": "cg_08203e88",
"20260618_171956_6_20260618_171628_image.png": "cg_08203e88",
"20260618_171923_5_20260618_171628_image.png": "cg_08203e88",
"20260618_171851_4_20260618_171628_image.png": "cg_08203e88",
"20260618_171819_3_20260618_171628_image.png": "cg_08203e88",
"20260618_171746_2_20260618_171628_image.png": "cg_08203e88",
"20260618_171717_1_20260618_171628_image.png": "cg_08203e88",
"20260618_171655_0_20260618_171628_image.png": "cg_08203e88",
"20260617_015728_img_70.png": "cg_f6e02c38",
"20260617_015611_img_69.png": "cg_f6e02c38",
"20260617_133154_img_78.png": "cg_75340e8e",
"20260617_133411_img_79.png": "cg_75340e8e",
"p1.png": "cg_a5a45c98",
"20260618_004909_p1.png": "cg_a5a45c98",
"20260618_004345_p1.png": "cg_a5a45c98",
"20260615_150812_img_19_2.png": "cg_a5a45c98",
"20260618_004847_20260615_150812_img_19_2.png": "cg_a5a45c98",
"20260618_011434_20260618_004847_20260615_150812_img_19_2.png": "cg_a5a45c98",
"20260618_015052_20260618_004407_20260616_002456_test123.jpeg": "cg_569ddd5e",
"20260618_223501_image.png": "solo:20260618_223501_image.png",
"20260618_223557_2_20260618_223501_image.png": "solo:20260618_223557_2_20260618_223501_image.png",
"20260618_223541_1_20260618_223501_image.png": "solo:20260618_223541_1_20260618_223501_image.png",
"20260618_223525_0_20260618_223501_image.png": "solo:20260618_223525_0_20260618_223501_image.png",
"20260619_040307_7_20260619_040135_image.png": "solo:20260619_040307_7_20260619_040135_image.png",
"20260619_040319_8_20260619_040135_image.png": "solo:20260619_040319_8_20260619_040135_image.png",
"20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041924_8_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041902_7_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041839_6_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041734_3_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041818_5_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041756_4_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041711_2_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041650_1_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_041628_0_20260619_041612_image.png": "cg_8c8d8ec9",
"20260619_040221_3_20260619_040135_image.png": "cg_8c8d8ec9",
"20260619_040158_1_20260619_040135_image.png": "cg_84349b43",
"20260619_043405_1_20260619_040135_image.png": "cg_d193128f",
"20260619_043433_1_20260619_040135_image.png": "cg_84349b43",
"20260619_040135_image.png": "cg_84349b43",
"20260619_041913_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041850_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041829_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041806_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041744_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041722_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041701_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041639_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041618_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041555_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041544_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041533_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041522_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041511_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041500_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041449_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041438_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041427_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041417_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041406_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041355_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041334_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041323_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041041_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041030_1_20260619_040135_image.png": "cg_84349b43",
"20260619_041020_1_20260619_040135_image.png": "cg_84349b43",
"20260619_040147_0_20260619_040135_image.png": "cg_84349b43",
"20260619_040209_2_20260619_040135_image.png": "cg_84349b43",
"20260619_040255_6_20260619_040135_image.png": "cg_84349b43",
"20260619_040244_5_20260619_040135_image.png": "cg_84349b43",
"20260619_040233_4_20260619_040135_image.png": "solo:20260619_040233_4_20260619_040135_image.png",
"20260619_043740_1_20260619_040135_image.png": "cg_84349b43",
"20260618_052526_image.png": "cg_7ec17537",
"20260618_052708_8_20260618_052526_image.png": "cg_7ec17537",
"20260618_052657_7_20260618_052526_image.png": "cg_7ec17537",
"20260618_052645_6_20260618_052526_image.png": "cg_7ec17537",
"20260618_052634_5_20260618_052526_image.png": "cg_7ec17537",
"20260618_052622_4_20260618_052526_image.png": "cg_7ec17537",
"20260618_052611_3_20260618_052526_image.png": "cg_7ec17537",
"20260618_052559_2_20260618_052526_image.png": "cg_7ec17537",
"20260618_052548_1_20260618_052526_image.png": "cg_7ec17537",
"20260618_052537_0_20260618_052526_image.png": "cg_7ec17537",
"20260619_052235_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
"20260619_052030_mr_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
"20260619_052351_mr_mr_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
"20260619_052514_mr_1_20260618_052526_image.png": "cg_ed2e43d1",
"20260619_051326_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
"20260619_051905_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
"20260619_050945_image.png": "cg_ed2e43d1",
"20260619_125445_mr_7_20260619_124038_image.png": "cg_ed2e43d1",
"20260619_125434_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
"20260619_125654_mr_mr_7_20260619_124038_image.png": "cg_ed2e43d1",
"20260619_130043_mr_1_20260619_124038_image.png": "cg_ed2e43d1",
"20260619_130001_mr_1_20260619_124038_image.png": "cg_6f321af3",
"20260619_124635_mr_7_20260619_124038_image.png": "cg_6f321af3",
"20260619_123958_image.png": "cg_6f321af3",
"20260619_124529_8_20260619_123958_image.png": "cg_6f321af3",
"20260619_124508_7_20260619_123958_image.png": "cg_6f321af3",
"20260619_124446_6_20260619_123958_image.png": "cg_6f321af3",
"20260619_124421_5_20260619_123958_image.png": "cg_6f321af3",
"20260619_124351_4_20260619_123958_image.png": "cg_6f321af3",
"20260619_124316_3_20260619_123958_image.png": "cg_6f321af3",
"20260619_124242_2_20260619_123958_image.png": "cg_6f321af3",
"20260619_124210_1_20260619_123958_image.png": "cg_6f321af3",
"20260619_124139_0_20260619_123958_image.png": "cg_6f321af3",
"20260619_124038_image.png": "cg_6f321af3",
"20260619_124540_8_20260619_124038_image.png": "cg_6f321af3",
"20260619_124518_7_20260619_124038_image.png": "cg_6f321af3",
"20260619_124456_6_20260619_124038_image.png": "cg_6f321af3",
"20260619_124435_5_20260619_124038_image.png": "cg_6f321af3",
"20260619_124407_4_20260619_124038_image.png": "cg_6f321af3",
"20260619_124333_3_20260619_124038_image.png": "cg_6f321af3",
"20260619_124258_2_20260619_124038_image.png": "cg_6f321af3",
"20260619_124226_1_20260619_124038_image.png": "cg_6f321af3",
"20260619_124154_0_20260619_124038_image.png": "cg_6f321af3",
"20260619_184116_image.png": "cg_6f321af3",
"20260619_184259_8_20260619_184116_image.png": "cg_6f321af3",
"20260619_184248_7_20260619_184116_image.png": "cg_6f321af3",
"20260619_184236_6_20260619_184116_image.png": "cg_6f321af3",
"20260619_184225_5_20260619_184116_image.png": "cg_6f321af3",
"20260619_184214_4_20260619_184116_image.png": "cg_6f321af3",
"20260619_184202_3_20260619_184116_image.png": "cg_6f321af3",
"20260619_184150_2_20260619_184116_image.png": "cg_6f321af3",
"20260619_184139_1_20260619_184116_image.png": "cg_6f321af3",
"20260619_184128_0_20260619_184116_image.png": "cg_6f321af3"
}

13
.trash/names.json Normal file
View File

@@ -0,0 +1,13 @@
{
"Pasted image (9).png": "1girl solo breasts nipples nude long hair blue skin navel",
"20260618_015217_20260618_010710_p12-2.png": "Jane Doe",
"20260618_045629_20260618_045234_test_clipboard.png": "1girl breasts solo nipples nude head out of frame navel pussy",
"20260618_045656_20260618_045450_test_clipboard.png": "1girl breasts solo nipples nude navel head out of frame pussy",
"20260618_045831_20260618_045549_test_clipboard.png": "1girl breasts nipples solo nude blue skin pussy head out of frame",
"20260618_050929_20260618_050846_img_4.png": "1girl solo blue skin nipples nude head out of frame breasts navel",
"20260618_051629_20260618_051435_test_group.png": "1girl breasts solo nipples realistic nude head out of frame navel",
"20260618_052008_20260618_051426_test_group.png": "1girl breasts solo nipples nude head out of frame navel realistic",
"20260619_123958_image.png": "Solo 1Female",
"20260619_172708_image.png": "Bicycle Fem",
"20260619_172850_8_20260619_172708_image.png": "Bicycle 1 female"
}

70
.trash/optimization.py Normal file
View File

@@ -0,0 +1,70 @@
"""
"""
from typing import Any
from typing import Callable
from typing import ParamSpec
from torchao.quantization import quantize_
from torchao.quantization import Float8DynamicActivationFloat8WeightConfig
import spaces
import torch
from torch.utils._pytree import tree_map
P = ParamSpec('P')
TRANSFORMER_IMAGE_SEQ_LENGTH_DIM = torch.export.Dim('image_seq_length')
TRANSFORMER_TEXT_SEQ_LENGTH_DIM = torch.export.Dim('text_seq_length')
TRANSFORMER_DYNAMIC_SHAPES = {
'hidden_states': {
1: TRANSFORMER_IMAGE_SEQ_LENGTH_DIM,
},
'encoder_hidden_states': {
1: TRANSFORMER_TEXT_SEQ_LENGTH_DIM,
},
'encoder_hidden_states_mask': {
1: TRANSFORMER_TEXT_SEQ_LENGTH_DIM,
},
'image_rotary_emb': ({
0: TRANSFORMER_IMAGE_SEQ_LENGTH_DIM,
}, {
0: TRANSFORMER_TEXT_SEQ_LENGTH_DIM,
}),
}
INDUCTOR_CONFIGS = {
'conv_1x1_as_mm': True,
'epilogue_fusion': False,
'coordinate_descent_tuning': True,
'coordinate_descent_check_all_directions': True,
'max_autotune': True,
'triton.cudagraphs': True,
}
def optimize_pipeline_(pipeline: Callable[P, Any], *args: P.args, **kwargs: P.kwargs):
@spaces.GPU(duration=1500)
def compile_transformer():
with spaces.aoti_capture(pipeline.transformer) as call:
pipeline(*args, **kwargs)
dynamic_shapes = tree_map(lambda t: None, call.kwargs)
dynamic_shapes |= TRANSFORMER_DYNAMIC_SHAPES
# quantize_(pipeline.transformer, Float8DynamicActivationFloat8WeightConfig())
exported = torch.export.export(
mod=pipeline.transformer,
args=call.args,
kwargs=call.kwargs,
dynamic_shapes=dynamic_shapes,
)
return spaces.aoti_compile(exported, INDUCTOR_CONFIGS)
spaces.aoti_apply(compile_transformer(), pipeline.transformer)