FFusionXL-BASE

세부 정보

파일 다운로드

모델 설명

FFusionXL-openvino-onnx-directml.png
ONNX Version AvailableOpenVINO SupportIntel/AMD/NVIDIA Compatible

🌌 FFusion/FFusionXL-BASE: 이제 ONNX, DirectML, Intel OpenVINO 형식으로 제공됩니다

이 모델은 주로 FFusion/FFusionXL-BASE에서 제공되는 diffusers를 위한 훈련 목적의 기반 모델입니다.

또한 추론에 중요한 역할을 하며, 우리가 추출한 LoRA의 성능 평가를 위한 기준점을 제공합니다.

🌟 개요

  • 🚀 빠른 훈련: 고속 훈련에 최적화되어 빠른 실험을 가능하게 합니다.

  • 🧩 다목적성: NLP에서 컴퓨터 비전에 이르기까지 다양한 응용 분야와 표준에 적합합니다.

  • 🎓 당신만의 방식으로 훈련: 귀하의 요구에 맞춰 자체 모델을 훈련할 수 있는 기반을 제공합니다.

  • 🌐 다국어 지원: 여러 언어로 모델을 훈련할 수 있습니다.

  • 🛡️ 견고한 아키텍처: 안정성과 신뢰성을 보장하기 위해 검증된 기술을 기반으로 구축되었습니다.

📜 모델 설명

FFusionXL "Base"는 훈련 프로세스를 가속화하기 위해 설계된 기반 모델입니다. 유연성을 고려하여 제작되었으며, 다양한 표준에서 사용자 지정 모델을 훈련할 수 있는 기반을 제공하여 혁신과 효율성을 가능하게 합니다.

Safetensor checkpointsDiffusers(safetensors)Diffusers(pytorch bin)ONNX un-optimized FP32ONNX Optimized FP16 full DirectML supportIntel® OpenVINO™ FP32 & FP16

훈련에 사용 가능한 형식:

  • Safetensor 체크포인트 fp16 & fp32

  • Diffusers(safetensors) FP16 & FP32

  • Diffusers(pytorch bin) FP16 & FP32

  • ONNX 비최적화 FP32

  • ONNX 최적화 FP16, DirectML 지원 / AMD / NVIDIA

  • Intel® OpenVINO™ FP32 - 비최적화

  • Intel® OpenVINO™ FP16

  • 훈련자: FFusion AI

  • 모델 유형: Diffusion 기반 텍스트-이미지 생성 모델

  • 라이선스: FFXL 연구 라이선스

  • 모델 설명: 이 모델은 SDXL을 기반으로 훈련된 모델로, 텍스트 프롬프트를 사용하여 이미지를 생성하고 수정할 수 있습니다. 이는 잠재적 Diffusion 모델이며, 두 개의 고정된 사전 훈련된 텍스트 인코더(OpenCLIP-ViT/GCLIP-ViT/L)를 사용합니다.

  • 자세한 정보를 위한 자원: arXiv의 SDXL 논문.

📊 모델 출처

목차

  1. 📌 ONNX 버전

    1. 🔖 ### 📌 ONNX 세부 정보

    2. 🔖 ### 📌 Microsoft® DirectML을 통한 Stable Diffusion의 AMD 지원

    3. 🔖 ### 📌 ONNX 추론 지침

    4. 🔖 ### 📌 텍스트-이미지

  2. 📌 Intel® OpenVINO™ 버전

    1. 📌 FFusion/FFusionXL-BASE를 통한 OpenVINO 추론

    2. 🔖 ### 📌 의존성 설치

    3. 🔖 ### 📌 텍스트-이미지

    4. 🔖 ### 📌 텍스트-이미지 (텍스트 역전을 사용하여)

    5. 🔖 ### 📌 이미지-이미지

    6. 🔖 ### 📌 이미지 출력 개선

  3. 📜 Part 003: 🧨 Model Diffusers, 빠른 LoRa 로딩 및 훈련 1. 📌 Model Diffusers: FFusion/FFusionXL-BASE의 힘을 극대화하기 2. 📌 의존성 설치 3. 📌 훈련 4. 📌 추론 5. 📌 훈련 6. 📌 텍스트 인코더 및 UNet의 미세 조정 7. 📌 추론

  4. 📌 평가

### 📌 ONNX 버전

preview-ffusionAI__base_00026_ copy.jpg

최신 DirectML 실행 제공자를 전적으로 지원하는 완전히 최적화된 Microsoft ONNX 버전을 발표하게 되어 자랑스럽습니다. 모든 ONNX 파일은 다양한 장치에서 빠른 추론 및 훈련을 위해 fp16으로 최적화(양자화)되었습니다.

Vae_Decoder는 다음 설정으로 fp32로 유지됩니다:

"float16": false,
"use_gpu": true,
"keep_io_types": true,
"force_fp32_ops": ["RandomNormalLike"]

이 설정은 검은 화면 및 렌더링 오류를 방지하기 위함입니다. 완전한 fp16 VAE 디코더를 위한 적절한 해결책이 제공되는 즉시 업데이트하겠습니다. VAE 인코더 및 기타 모든 구성 요소는 완전히 최적화되었습니다 🤟.

우리의 ONNX는 ONNX v8을 사용하여 최적화되었습니다:

  • 생성자: onnxruntime.transformers 1.15.1

  • 가져오기: ai.onnx v18, com.microsoft.nchwc v1, ai.onnx.ml v3, com.ms.internal.nhwc v19, ai.onnx.training v1, ai.onnx.preview.training v1, com.microsoft v1, com.microsoft.experimental v1, org.pytorch.aten v1, com.microsoft.dml v1, graph: torch_jit

🔖 ### 📌 ONNX 세부 정보

NETRON 세부 정보:onxxapp-nutron-ffusionai.jpg

설치

macOS: 다운로드 .dmg 파일 또는 brew install --cask netron 실행

Linux: 다운로드 .AppImage 파일 또는 snap install netron 실행

Windows: 다운로드 .exe 설치 프로그램 또는 winget install -s winget netron 실행

https://netron.app/

-- NETRON 브라우저 버전: 텍스트 인코더 시작Text Encoder1 FFusionXL.jpg

--NETRON 브라우저 버전: 텍스트 인코더 2 시작TextEncoder2 FFusionXL.jpg

--NETRON 브라우저 버전: VAE 디코더 시작

--NETRON 브라우저 버전: VAE 인코더 시작VAE encoder FFUSION-ai-Screenshot_2016.jpg

--NETRON 브라우저 버전: UNET 시작

🔖 ### 📌 Microsoft® DirectML을 통한 Stable Diffusion의 AMD 지원

FFusionXL-directML.jpg

AMD는 Microsoft와 협력하여 AMD 장치에서 최적의 성능을 제공하도록 Stable Diffusion용 Microsoft DirectML 최적화를 지원했습니다.

Microsoft DirectML AMD Microsoft DirectML Stable Diffusion

🔖 ### 📌 ONNX 추론 지침

Onnx-FFusionXL1.jpg

🔖 ### 📌 텍스트-이미지

ONNX Runtime을 사용하여 ONNX Stable Diffusion 모델을 로드하고 추론을 실행하는 방법의 예시입니다:

from optimum.onnxruntime import ORTStableDiffusionPipeline

model_id = "FFusion/FFusionXL-BASE"
pipeline = ORTStableDiffusionPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Leonardo da Vinci"
images = pipeline(prompt).images

### 📌 Intel® OpenVINO™ 버전

추론 테스트 및 훈련을 위해 변환된 Intel® OpenVINO™ 모델도 포함되어 있습니다. 아직 양자화 및 최적화를 적용하지 않았습니다.


### 📌 FFusion/FFusionXL-BASE를 통한 OpenVINO 추론

🔖 ### 📌 의존성 설치

OVStableDiffusionXLPipeline을 사용하기 전에 diffusersinvisible_watermark가 설치되어 있는지 확인하세요. 다음 명령어로 라이브러리를 설치할 수 있습니다:

pip install diffusers
pip install invisible-watermark>=0.2.0

🔖 ### 📌 텍스트-이미지

FFusion/FFusionXL-BASE OpenVINO 모델을 로드하고 OpenVINO Runtime을 사용하여 추론을 실행하는 방법의 예시입니다:

from optimum.intel import OVStableDiffusionXLPipeline

model_id = "FFusion/FFusionXL-BASE"
base = OVStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "train station by Caspar David Friedrich"
image = base(prompt).images[0]
image.save("train_station.png")

🔖 ### 📌 텍스트-이미지 (텍스트 역전을 사용하여)

먼저, 텍스트 역전 없이 원래 파이프라인을 실행할 수 있습니다:

from optimum.intel import OVStableDiffusionXLPipeline
import numpy as np

model_id = "FFusion/FFusionXL-BASE"
prompt = "charturnerv2, multiple views of the same character in the same outfit, a character turnaround of a beautiful cyber female wearing a black corset and pink latex shirt, scifi best quality, intricate details."
np.random.seed(0)

base = OVStableDiffusionXLPipeline.from_pretrained(model_id, export=False, compile=False)
base.compile()
image1 = base(prompt, num_inference_steps=50).images[0]
image1.save("sdxl_without_textual_inversion.png")

그런 다음, charturnerv2 텍스트 역전 임베딩을 로드하고 동일한 프롬프트로 파이프라인을 다시 실행할 수 있습니다:

# Stable diffusion 파이프라인 재설정
base.clear_requests()

# 텍스트 역전을 Stable diffusion 파이프라인에 로드
base.load_textual_inversion("./charturnerv2.pt", "charturnerv2")

첫 번째 추론 전에 모델 컴파일

base.compile() image2 = base(prompt, num_inference_steps=50).images[0] image2.save("sdxl_with_textual_inversion.png")


[**![SDXL-preview.png](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/HocDOL_Tlxsqe9qKMRwyp.png)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/HocDOL_Tlxsqe9qKMRwyp.png)[**![FFusi1onXL_with_textual_inveaarsion1.png](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/bkkQSPWD8Zt736eihubEi.png)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/bkkQSPWD8Zt736eihubEi.png)[**![FFusionXL_with_textual_inversion1.png](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/oX4CWQwbuQn4WiBDbOwM6.png)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/oX4CWQwbuQn4WiBDbOwM6.png)

🔖 ### 📌 이미지에서 이미지로

다음은 PyTorch FFusion/FFusionXL-BASE 모델을 로드하고, 온디맨드로 OpenVINO로 변환한 후 OpenVINO Runtime을 사용하여 이미지-이미지 추론을 실행하는 예시입니다:

from optimum.intel import OVStableDiffusionXLImg2ImgPipeline from diffusers.utils import load_image

model_id = "FFusion/FFusionXL-BASE-refiner-1.0" pipeline = OVStableDiffusionXLImg2ImgPipeline.from_pretrained(model_id, export=True)

url = "https://huggingface.co/datasets/optimum/documentation-images/resolve/main/intel/openvino/sd_xl/castle_friedrich.png" image = load_image(url).convert("RGB") prompt = "medieval castle by Caspar David Friedrich" image = pipeline(prompt, image=image).images[0] pipeline.save_pretrained("openvino-FF-xl-refiner-1.0")


🔖 ### 📌 이미지 출력 개선

이미지는 `FFusion/FFusionXL-BASE-refiner-1.0`과 같은 모델을 사용하여 개선할 수 있습니다. 이 경우, 기초 모델에서 잠재 표현만 출력하면 됩니다.

from optimum.intel import OVStableDiffusionXLImg2ImgPipeline

model_id = "FFusion/FFusionXL-BASE-refiner-1.0" refiner = OVStableDiffusionXLImg2ImgPipeline.from_pretrained(model_id, export=True)

image = base(prompt=prompt, output_type="latent").images[0] image = refiner(prompt=prompt, image=image[None, :]).images[0]


## 📜 파트 003: 🧨 모델 Diffusers, 빠른 LoRa 로딩 및 학습

### \### 📌 모델 Diffusers: FFusion/FFusionXL-BASE의 힘을 해방하세요

예술가, 연구자, AI 애호가이든 간에, 우리 모델은 당신의 여정을 원활하고 흥미롭게 만들어지도록 설계되었습니다. diffusers를 >= 0.19.3 버전으로 업그레이드하세요:

pip install diffusers --upgrade


또한 `transformers`, `safetensors`, `accelerate` 및 투명한 워터마크를 설치하세요:

pip install invisible_watermark transformers accelerate safetensors


그러면 다음과 같이 모델을 사용할 수 있습니다:

from diffusers import DiffusionPipeline import torch

pipe = DiffusionPipeline.from_pretrained("FFusion/FFusionXL-09-SDXL", torch_dtype=torch.float16, use_safetensors=True, variant="fp16") pipe.to("cuda")

torch < 2.0 사용 시

pipe.enable_xformers_memory_efficient_attention()

prompt = "An astronaut riding a green horse"

images = pipe(prompt=prompt).images[0]


## 📜 Diffusers 학습 가이드: LoRA를 사용한 FFusion/FFusionXL-BASE 학습

# Stable Diffusion XL 텍스트-이미지 미세 조정

`train_text_to_image_sdxl.py` 스크립트는 사용자 고유의 데이터셋에서 Stable Diffusion XL(SDXL)을 미세 조정하는 방법을 보여줍니다.

🚨 이 스크립트는 실험적입니다. 스크립트는 전체 모델을 미세 조정하며, 종종 모델이 과적합되어 치명적인 망각(catastrophic forgetting) 같은 문제를 일으킵니다. 최적의 결과를 얻기 위해 다양한 하이퍼파라미터를 시도하는 것이 권장됩니다. 🚨

## 📜 PyTorch로 로컬에서 실행

### \### 📌 의존성 설치

스크립트를 실행하기 전에 라이브러리의 학습 의존성을 설치하세요:

**중요**

최신 버전의 예제 스크립트를 성공적으로 실행하려면, 예제 스크립트를 자주 업데이트하고 일부 예제 전용 요구사항을 설치하기 때문에 **소스에서 설치**하고 설치 상태를 최신 상태로 유지하는 것을 강력히 권장합니다. 이를 위해 새 가상 환경에서 다음 단계를 실행하세요:

git clone https://github.com/huggingface/diffusers cd diffusers pip install -e .


그런 다음 `examples/text_to_image` 폴더로 이동하여 다음을 실행하세요:

pip install -r requirements_sdxl.txt


그리고 다음 명령으로 [**🤗Accelerate**](https://github.com/huggingface/accelerate/) 환경을 초기화하세요:

accelerate config


또는 환경에 대한 질문 없이 기본 accelerate 구성을 설정하려면:

accelerate config default


또는 인터랙티브 쉘을 지원하지 않는 환경(예: 노트북)의 경우:

from accelerate.utils import write_basic_config write_basic_config()


`accelerate config`를 실행할 때 torch compile 모드를 True로 지정하면 속도가 크게 향상됩니다.

### \### 📌 학습

export MODEL_NAME="FFusion/FFusionXL-BASE" export VAE="madebyollin/sdxl-vae-fp16-fix" export DATASET_NAME="lambdalabs/pokemon-blip-captions"

accelerate launch train_text_to_image_sdxl.py
--pretrained_model_name_or_path=$MODEL_NAME
--pretrained_vae_model_name_or_path=$VAE
--dataset_name=$DATASET_NAME
--enable_xformers_memory_efficient_attention
--resolution=512 --center_crop --random_flip
--proportion_empty_prompts=0.2
--train_batch_size=1
--gradient_accumulation_steps=4 --gradient_checkpointing
--max_train_steps=10000
--use_8bit_adam
--learning_rate=1e-06 --lr_scheduler="constant" --lr_warmup_steps=0
--mixed_precision="fp16"
--report_to="wandb"
--validation_prompt="a cute Sundar Pichai creature" --validation_epochs 5
--checkpointing_steps=5000
--output_dir="sdxl-pokemon-model"
--push_to_hub


**참고**:

*   `train_text_to_image_sdxl.py`(diffusers/examples/text\_to\_image) 스크립트는 텍스트 임베딩과 VAE 인코딩을 사전 계산하여 메모리에 유지합니다. `lambdalabs/pokemon-blip-captions`와 같은 작은 데이터셋의 경우 문제가 되지 않을 수 있지만, 큰 데이터셋에서는 메모리 문제를 일으킬 수 있습니다. 이러한 목적을 위해 이러한 사전 계산된 표현을 별도로 디스크에 직렬화하고 미세 조정 과정 중에 로드하는 것이 좋습니다. 자세한 내용은 [**이 PR**](https://github.com/huggingface/diffusers/pull/4505)을 참조하세요.

*   학습 스크립트는 계산량이 많아 Tesla T4와 같은 소비자 GPU에서 실행되지 않을 수 있습니다.

*   위 학습 명령은 학습 에폭 중간에 중간 품질 검증을 수행하고 결과를 Weights and Biases에 로그합니다. 여기서 관련 CLI 인자는 `--report_to`, `--validation_prompt`, `--validation_epochs`입니다. examples/text\_to\_image

### \### 📌 추론

from diffusers import DiffusionPipeline import torch

model_path = "FFusion/FFusionXL-BASE" # <-- 이 부분을 새로 학습한 모델로 변경하세요 pipe = DiffusionPipeline.from_pretrained(model_path, torch_dtype=torch.float16) pipe.to("cuda")

prompt = "A pokemon with green eyes and red legs." image = pipe(prompt, num_inference_steps=30, guidance_scale=7.5).images[0] image.save("pokemon.png")


## 📜 Stable Diffusion XL(SDXL)용 LoRA 학습 예시

LoRA(Low-Rank Adaption of Large Language Models)는 Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen이 [**LoRA: Low-Rank Adaptation of Large Language Models**](https://arxiv.org/abs/2106.09685)에서 처음 소개했습니다.

간단히 말해, LoRA는 기존 가중치에 랭크 분해 행렬 쌍을 추가하여 사전 학습된 모델을 적응시키고, **새롭게 추가된 가중치만** 학습합니다. 이는 다음과 같은 이점을 제공합니다:

*   이전 사전 학습 가중치는 고정되어 모델이 [**치명적인 망각**](https://www.pnas.org/doi/10.1073/pnas.1611835114)에 취약해지지 않습니다.

*   랭크 분해 행렬은 원래 모델보다 훨씬 적은 파라미터를 가지므로 학습된 LoRA 가중치는 이식이 용이합니다.

*   LoRA 어텐션 계층은 `scale` 매개변수를 통해 모델이 새 학습 이미지에 얼마나 적응되는지를 제어할 수 있습니다.

[**cloneofsimo**](https://github.com/cloneofsimo)는 인기 있는 [**lora**](https://github.com/cloneofsimo/lora) GitHub 저장소에서 Stable Diffusion에 대한 LoRA 학습을 처음 시도했습니다.

LoRA를 사용하면 Tesla T4, Tesla V100과 같은 소비자 GPU에서 사용자 정의 이미지-캡션 데이터셋에 대해 Stable Diffusion을 미세 조정할 수 있습니다.

### \### 📌 학습

먼저 [**설치 섹션**](https://huggingface.co/FFusion/FFusionXL-BASE#installing-the-dependencies)에서 설명한 대로 개발 환경을 설정해야 합니다. `MODEL_NAME`과 `DATASET_NAME` 환경 변수를 설정하세요. 여기서는 [**Stable Diffusion XL 1.0-base**](https://huggingface.co/FFusion/FFusionXL-BASE)와 [**Pokemons 데이터셋**](https://huggingface.co/datasets/lambdalabs/pokemon-blip-captions)을 사용합니다.

**_참고: 학습 중에 주기적으로 샘플 이미지를 생성하여 학습 진행 상황을 모니터링하는 것이 매우 유용합니다._** [**_Weights and Biases_**](https://docs.wandb.ai/quickstart)는 학습 중 이미지 생성을 쉽게 확인할 수 있는 좋은 솔루션입니다. 학습 전에 `pip install wandb`만 실행하면 자동으로 이미지가 로그됩니다.

export MODEL_NAME="FFusion/FFusionXL-BASE" export DATASET_NAME="lambdalabs/pokemon-blip-captions"


이 예제에서는 학습된 LoRA 임베딩을 직접 허브에 저장하려 하므로 로그인하고 `--push_to_hub` 플래그를 추가해야 합니다.

huggingface-cli login


이제 학습을 시작할 수 있습니다!

accelerate launch train_text_to_image_lora_sdxl.py
--pretrained_model_name_or_path=$MODEL_NAME
--dataset_name=$DATASET_NAME --caption_column="text"
--resolution=1024 --random_flip
--train_batch_size=1
--num_train_epochs=2 --checkpointing_steps=500
--learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0
--seed=42
--output_dir="sd-pokemon-model-lora-sdxl"
--validation_prompt="cute dragon creature" --report_to="wandb"
--push_to_hub


위 명령은 미세 조정 진행 중에 추론도 실행하고 결과를 Weights and Biases에 로그합니다.

### \### 📌 텍스트 인코더 및 UNet 미세 조정

스크립트는 `text_encoder`와 `unet`을 함께 미세 조정할 수도 있습니다.

🚨 텍스트 인코더 학습은 추가 메모리가 필요합니다.

`text_encoder`와 `unet`의 미세 조정을 활성화하려면 학습 스크립트에 `--train_text_encoder` 인자를 전달하세요:

accelerate launch train_text_to_image_lora_sdxl.py
--pretrained_model_name_or_path=$MODEL_NAME
--dataset_name=$DATASET_NAME --caption_column="text"
--resolution=1024 --random_flip
--train_batch_size=1
--num_train_epochs=2 --checkpointing_steps=500
--learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0
--seed=42
--output_dir="sd-pokemon-model-lora-sdxl-txt"
--train_text_encoder
--validation_prompt="cute dragon creature" --report_to="wandb"
--push_to_hub


### \### 📌 추론

위 명령으로 모델을 학습한 후, 학습된 LoRA 가중치를 로드한 후 `DiffusionPipeline`을 사용하여 추론이 가능합니다. LoRA 가중치를 로드할 때 `output_dir`을 전달해야 하며, 이 경우는 `sd-pokemon-model-lora-sdxl`입니다.

from diffusers import DiffusionPipeline import torch

model_path = "takuoko/sd-pokemon-model-lora-sdxl" pipe = DiffusionPipeline.from_pretrained("FFusion/FFusionXL-BASE", torch_dtype=torch.float16) pipe.to("cuda") pipe.load_lora_weights(model_path)

prompt = "A pokemon with green eyes and red legs." image = pipe(prompt, num_inference_steps=30, guidance_scale=7.5).images[0] image.save("pokemon.png")


### \### 📌 평가

[**![evaluation-ffusionAI.jpg](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/NPrW6dc_JsAxZrZZRDC_M.jpeg)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/NPrW6dc_JsAxZrZZRDC_M.jpeg)[**![evaluation-ffusionXL.jpg](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/b0Z2M7wp-MqCXes595ulX.jpeg)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/b0Z2M7wp-MqCXes595ulX.jpeg)

[**![image_comparisons.png](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/m890TYI3HTk6xYMPBrLQN.png)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/m890TYI3HTk6xYMPBrLQN.png)[**![combined_FFigure.png](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/I67ri4P06doH7l2n7x1G0.png)**](https://cdn-uploads.huggingface.co/production/uploads/6380cf05f496d57325c12194/I67ri4P06doH7l2n7x1G0.png)

이 분석은 yuvalkirstain/PickScore\_v1 모델을 활용하여 FFusion.AI에서 수행되었습니다. Stable Diffusion 모델의 프롬프트 승률과 정확도 테스트를 위한 지속적인 연구에 중요한 기여를 합니다.

📧 문의나 지원이 필요하시면 [**[email protected]**](mailto:[email protected])로 연락주세요. 언제나 도와드리겠습니다!

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.