Huggingface Diffusers 구현을 기반으로 한 MLX 플럭스 포트.
Mac의 Black Forest Labs에서 강력한 플럭스 모델을 실행하십시오!
Mflux는 Huggingface Diffusers 라이브러리에서 Apple MLX에서 플럭스 구현의 라인 별 포트입니다. Mflux는 의도적으로 최소화되고 명시 적으로 유지됩니다. 네트워크 아키텍처는 하드 코딩되며 토큰 화제를 제외하고 구성 파일이 사용되지 않습니다. 목표는 이러한 모델을 표현하는 단일 목적을 가진 작은 코드베이스를 갖는 것입니다 (따라서 너무 많은 추상화를 피하기). MFLUX 우선 순위는 일반성과 성능에 비해 가독성이 높지만 여전히 매우 빠르며 심지어 더 빠르게 양자화 될 수 있습니다.
모든 모델은 MLX에서 처음부터 구현되며 Tokenizer 만 Huggingface Transformers 라이브러리를 통해 사용됩니다. 그 외에는 Numpy 및 Pillow와 같은 최소한의 종속성만이 있습니다.
사용자의 경우 Mflux를 설치하는 가장 쉬운 방법은 uv tool
사용하는 것입니다. uv
설치 한 경우 간단히 다음과 같습니다.
uv tool install --upgrade mflux
mflux-generate
및 관련 명령 행 실행 파일을 얻으려면. 아래 사용 안내서로 건너 뛸 수 있습니다.
T5 인코더는 2024 년 11 월 현재 Python 3.13 용 설치 가능한 휠 아티팩트가없는 문장에 의존합니다. Google은 3.13 휠을 게시 할 때까지 공식 빌드 지침으로 자신의 휠을 만들거나 편의를 위해 .whl
사용을 위해서는 휠을 만들어야합니다. 기고자 @anthonywu가 사전 제작했습니다. 아래 단계는 시스템이 다를 수 있지만 대부분의 개발자에게는 작동해야합니다.
uv venv --python 3.13
python -V # e.g. Python 3.13.0rc2
source .venv/bin/activate
# for your convenience, you can use the contributor wheel
uv pip install https://github.com/anthonywu/sentencepiece/releases/download/0.2.1-py13dev/sentencepiece-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
# enable the pytorch nightly
uv pip install --pre --extra-index-url https://download.pytorch.org/whl/nightly -e .
mkdir -p mflux && cd mflux && python3 -m venv .venv && source .venv/bin/activate
이것은 mflux
폴더에서 가상 환경을 생성하고 활성화합니다. 그런 다음 PIP를 통해 Mflux를 설치하십시오.
pip install -U mflux
git clone [email protected]:filipstrand/mflux.git
make install
make test
make lint
및 make format
설치하고 ruff
사용합니다. 편집기/IDE를 Lint/Format로 자동으로 설정하거나 제공된 make
Helpers를 사용할 수 있습니다.make format
make lint
-Lint 오류 및 경고를 표시하지만 자동 수정은 아닙니다.make check
- pre-commit
후크, 코드 형식 및 보풀 오류를 자동 수정하려는 시도를 통해ruff
문서를 참조하십시오 프롬프트와 모델 및 일부 선택 인수를 지정하여 mflux-generate
명령을 실행하십시오. 예를 들어, 여기서는 2 단계에 schnell
모델의 양자화 된 버전을 사용합니다.
mflux-generate --model schnell --prompt " Luxury food photograph " --steps 2 --seed 2 -q 8
이 예제는 25 시간 단계의 더 강력한 dev
모델을 사용합니다.
mflux-generate --model dev --prompt " Luxury food photograph " --steps 25 --seed 2 -q 8
기본적으로 모델 파일은 홈 디렉토리의 .cache
폴더로 다운로드됩니다. 예를 들어, 내 설정에서 경로는 다음과 같습니다.
/Users/filipstrand/.cache/huggingface/hub/models--black-forest-labs--FLUX.1-dev
이 기본 동작을 변경하려면 HF_HOME
환경 변수를 수정하여 그렇게 할 수 있습니다. 이 설정을 조정하는 방법에 대한 자세한 내용은 포옹 얼굴 문서를 참조하십시오 .
Flux.1-Dev는 현재 Huggingface Repo에 대한 액세스 권한을 부여해야합니다. 문제 해결은 문제 추적기를 참조하십시오
--prompt
(필수, str
) : 생성 할 이미지의 텍스트 설명.
--model
또는 -m
(필수, str
) : 생성에 사용할 모델 ( "schnell"
또는 "dev"
).
--output
(선택 사항, str
, default : "image.png"
) : output image filename.
--seed
(선택 사항, int
, default : None
) : 무작위 숫자 생성을위한 시드. 기본값은 시간 기반입니다.
--height
(선택 사항, int
, 기본값 : 1024
) : 픽셀에서 출력 이미지의 높이.
--width
(선택 사항, int
, default : 1024
) : 픽셀의 출력 이미지의 너비.
--steps
(선택 사항, int
, 기본값 : 4
) : 추론 단계.
--guidance
(선택 사항, float
, 기본값 : 3.5
) : 안내 척도 ( "dev"
모델에만 사용됨).
--path
(선택 사항, str
, default : None
) : 디스크의 로컬 모델로가는 경로.
--quantize
또는 -q
(선택 사항, int
, 기본값 : None
) : 양자화 ( 4
또는 8
중에서 선택).
--lora-paths
(선택 사항, [str]
, default : None
) : lora weights 로의 경로.
--lora-scales
(선택 사항, [float]
, default : None
) : 각각의 각 lora에 대한 스케일 (지정되지 않은 경우 1.0
으로 기본값이 있고 하나의 lora 무게 만로드됩니다.)
--metadata
(선택 사항) : 동일한 이름의 이미지에 대한 메타 데이터가 포함 된 .json
파일을 내보내고 있습니다. (이 플래그가 없어도 이미지 메타 데이터가 저장되고 exiftool image.png
사용하여 볼 수 있습니다)
--controlnet-image-path
(필수, str
) : 출력 생성을 안내하기 위해 Controlnet에서 사용하는 로컬 이미지로의 경로.
--controlnet-strength
(선택 사항, float
, 기본값 : 0.4
) : 제어 이미지가 출력에 미치는 영향의 정도. 0.0
(영향 없음)에서 1.0
(전체 영향) 범위입니다.
--controlnet-save-canny
(선택 사항, BOOL, DEFAULT : FALSE) : SET이 Controlnet에서 사용하는 Canny Edge Detection Reference 이미지를 저장합니다.
--init-image-path
(선택 사항, str
, default : None
) : 이미지-이미지 생성을위한 초기 이미지로의 로컬 경로.
--init-image-strength
(선택 사항, float
, default : 0.4
) : 초기 이미지가 출력 이미지에 얼마나 강한 영향을 미치는지 제어합니다. 0.0
의 값은 영향을 미치지 않습니다. (기본값은 0.4
)
--config-from-metadata
또는 -C
(선택 사항, str
) : [실험] --metadata
통해 저장된 이전 파일 또는 예상되는 Args 스키마를 준수하는 호환 가능한 핸드 크래프트 구성 파일에 대한 경로.
{
"$schema" : " http://json-schema.org/draft-07/schema# " ,
"type" : " object " ,
"properties" : {
"seed" : {
"type" : [ " integer " , " null " ]
},
"steps" : {
"type" : [ " integer " , " null " ]
},
"guidance" : {
"type" : [ " number " , " null " ]
},
"quantize" : {
"type" : [ " null " , " string " ]
},
"lora_paths" : {
"type" : [ " array " , " null " ],
"items" : {
"type" : " string "
}
},
"lora_scales" : {
"type" : [ " array " , " null " ],
"items" : {
"type" : " number "
}
},
"prompt" : {
"type" : [ " string " , " null " ]
}
}
}
{
"model" : " dev " ,
"seed" : 42 ,
"steps" : 8 ,
"guidance" : 3.0 ,
"quantize" : 4 ,
"lora_paths" : [
" /some/path1/to/subject.safetensors " ,
" /some/path2/to/style.safetensors "
],
"lora_scales" : [
0.8 ,
0.4
],
"prompt" : " award winning modern art, MOMA "
}
또는 올바른 파이썬 환경을 활성화하면 다음과 같은 별도의 스크립트를 작성하고 실행합니다.
from mflux import Flux1 , Config
# Load the model
flux = Flux1 . from_alias (
alias = "schnell" , # "schnell" or "dev"
quantize = 8 , # 4 or 8
)
# Generate an image
image = flux . generate_image (
seed = 2 ,
prompt = "Luxury food photograph" ,
config = Config (
num_inference_steps = 2 , # "schnell" works well with 2-4 steps, "dev" works well with 20-25 steps
height = 1024 ,
width = 1024 ,
)
)
image . save ( path = "image.png" )
mflux를 구성하는 방법에 대한 자세한 내용은 Generate.py를 참조하십시오.
이 숫자는 정량화되지 않은 schnell
모델을 기반으로하며 아래 코드 스 니펫에 제공된 구성이 있습니다. 기계 시간에 다음을 실행하십시오.
time mflux-generate
--prompt " Luxury food photograph "
--model schnell
--steps 2
--seed 2
--height 1024
--width 1024
컴퓨터의 사양 (CPU 코어 수, GPU 코어 및 메모리 포함)을 찾으려면 다음 명령을 실행하십시오.
system_profiler SPHardwareDataType SPDisplaysDataType
장치 | M- 시리즈 | 사용자 | 보고 된 시간 | 메모 |
---|---|---|---|---|
맥 스튜디오 | 2023 M2 울트라 | @awni | <15s | |
MacBook Pro | 2024 M4 MAX (128GB) | @ivanfioravanti | ~ 19s | |
MacBook Pro | 2023 M3 Max | @karpathy | ~ 20S | |
- | 2023 M2 MAX (96GB) | @explorigin | ~ 25s | |
맥 미니 | 2024 M4 Pro (64GB) | @stoobs | ~ 34S | |
맥 미니 | 2023 M2 Pro (32GB) | @leekichko | ~ 54s | |
- | 2022 M1 MAX (64GB) | @Bosseparra | ~ 55s | |
MacBook Pro | 2023 M2 MAX (32GB) | @filipstrand | ~ 70 년대 | |
- | 2023 M3 Pro (36GB) | @kush-gupt | ~ 80 년대 | |
MacBook Pro | 2021 M1 Pro (32GB) | @filipstrand | ~ 160 년대 | |
- | 2021 M1 Pro (16GB) | @qw-in | ~ 175s | Mac을 얼릴 수 있습니다 |
MacBook Air | 2020 M1 (8GB) | @mbvillaverde | ~ 335s | 해상도 512 x 512 |
이 숫자는 처음부터 응용 프로그램을 시작하는 것이 포함됩니다. 즉, 모델 I/O, 가중치 설정/양자화 가중치 등을 의미합니다. 모델이 이미로드되었다고 가정하면 exiftool image.png
사용하여 이미지 메타 데이터를 검사하고 총계를 확인할 수 있습니다. 데노이징 루프 기간 (텍스트 포함 제외).
이러한 벤치 마크는 과학적이지 않으며 야구장 번호를 제공하기위한 것입니다. 그것들은 다른 Mflux 및 MLX-Versions 등으로 서로 다른 시간 동안 수행되었습니다. GPU 코어 수, MAC 장치 등과 같은 추가 하드웨어 정보는 항상 알려진 것은 아닙니다.
이미지를 생성 할 때 단일 임의성 소스가 있습니다 : 초기 잠재 배열. 이 구현에서,이 초기 잠재심은 입력 seed
매개 변수에 의해 완전히 결정적으로 제어됩니다. 그러나 Diffusers 구현에서 저장된이 잠재 배열의 고정 인스턴스를 가져 오면 Mflux는 Diffusers 구현과 동일한 이미지를 생성합니다 (고정 프롬프트를 가정하고 Diffusers 설정에서 기본 매개 변수 설정을 사용).
아래 이미지는이 동등성을 보여줍니다. 모든 경우에 Schnell 모델은 2 번의 단계 동안 실행되었습니다. 디퓨저 구현은 CPU 모드로 실행되었습니다. mflux의 정밀도는 구성 클래스에서 설정할 수 있습니다. 16 비트와 32 비트 정밀도 사이를 전환 할 때 일반적으로 최종 이미지에서 눈에 띄지 만 매우 작은 차이가 있습니다.
Luxury food photograph
detailed cinematic dof render of an old dusty detailed CRT monitor on a wooden desk in a dim room with items around, messy dirty room. On the screen are the letters "FLUX" glowing softly. High detail hard surface render
photorealistic, lotr, A tiny red dragon curled up asleep inside a nest, (Soft Focus) , (f_stop 2.8) , (focal_length 50mm) macro lens f/2. 8, medieval wizard table, (pastel) colors, (cozy) morning light filtering through a nearby window, (whimsical) steam shapes, captured with a (Canon EOS R5) , highlighting (serene) comfort, medieval, dnd, rpg, 3d, 16K, 8K
A weathered fisherman in his early 60s stands on the deck of his boat, gazing out at a stormy sea. He has a thick, salt-and-pepper beard, deep-set blue eyes, and skin tanned and creased from years of sun exposure. He's wearing a yellow raincoat and hat, with water droplets clinging to the fabric. Behind him, dark clouds loom ominously, and waves crash against the side of the boat. The overall atmosphere is one of tension and respect for the power of nature.
Luxury food photograph of an italian Linguine pasta alle vongole dish with lots of clams. It has perfect lighting and a cozy background with big bokeh and shallow depth of field. The mood is a sunset balcony in tuscany. The photo is taken from the side of the plate. The pasta is shiny with sprinkled parmesan cheese and basil leaves on top. The scene is complemented by a warm, inviting light that highlights the textures and colors of the ingredients, giving it an appetizing and elegant look.
Mflux는 4 비트 또는 8 비트 양자화 모드에서 플럭스 런 플럭스를 지원합니다. 양자화 된 버전을 실행하면 생성 프로세스 속도를 크게 높이고 여러 기가 바이트로 메모리 소비를 줄일 수 있습니다. 양자화 된 모델은 또한 더 적은 디스크 공간을 차지합니다.
mflux-generate
--model schnell
--steps 2
--seed 2
--quantize 8
--height 1920
--width 1024
--prompt " Tranquil pond in a bamboo forest at dawn, the sun is barely starting to peak over the horizon, panda practices Tai Chi near the edge of the pond, atmospheric perspective through the mist of morning dew, sunbeams, its movements are graceful and fluid — creating a sense of harmony and balance, the pond’s calm waters reflecting the scene, inviting a sense of meditation and connection with nature, style of Howard Terpning and Jessica Rossier "
이 예에서 런타임 에 가중치가 양자화됩니다. 이는 무게의 양자화 된 가중치 사본을 디스크에 저장하고 싶지 않지만 여전히 잠재적 인 속도 업 및 RAM 감소 양자화로부터 이익을 얻고 자하는 경우 편리합니다.
--quantize
또는 -q
플래그를 4
, 8
로 선택하거나 완전히 제거하면 위의 3 개의 이미지를 모두 얻습니다. 알 수 있듯이 이미지 (특히 8 비트와 정량화되지 않은 결과 사이) 사이에는 거의 차이가 없습니다. 이 예제의 이미지 생성 시간은 2021 M1 Pro (32GB) 기계를 기반으로합니다. 이미지가 거의 동일하지만이 특정 시스템에서 8 비트 양자 버전을 실행하면 ~ 2x 속도가 있습니다. 정량화되지 않은 버전과 달리 8 비트 버전의 경우 스왑 메모리 사용량이 크게 줄어들고 GPU 활용은 전체 세대 동안 100%에 가깝습니다. 여기서 결과는 기계에 따라 다를 수 있습니다.
다양한 양자화 수준에서 schnell
과 dev
의 모델 크기는 다음과 같습니다.
4 비트 | 8 비트 | 원본 (16 비트) |
---|---|---|
9.85GB | 18.16GB | 33.73GB |
무게 크기가 완전히 절단되지 않은 이유는 적은 수의 무게가 양자화되지 않고 완전히 정밀하게 유지되기 때문입니다.
정량화 된 가중치의 로컬 사본을 저장하려면 mflux-save
명령을 다음과 같이 실행하십시오.
mflux-save
--path " /Users/filipstrand/Desktop/schnell_8bit "
--model schnell
--quantize 8
양자화 된 버전을 저장할 때는 원래의 Huggingface 가중치가 필요합니다.
모델을 저장할 때 LORA 어댑터를 지정할 수도 있습니다.
mflux-save
--path " /Users/filipstrand/Desktop/schnell_8bit "
--model schnell
--quantize 8
--lora-paths " /path/to/lora.safetensors "
--lora-scales 0.7
이와 같은 모델로 이미지를 생성 할 때는 이미 저장된 양자 가중치로 구워 졌기 때문에 LORA 어댑터를 지정할 필요가 없습니다.
양자화 된 모델에서 새로운 이미지를 생성하려면 저장된 위치에 --path
제공합니다.
mflux-generate
--path " /Users/filipstrand/Desktop/schnell_8bit "
--model schnell
--steps 2
--seed 2
--height 1920
--width 1024
--prompt " Tranquil pond in a bamboo forest at dawn, the sun is barely starting to peak over the horizon, panda practices Tai Chi near the edge of the pond, atmospheric perspective through the mist of morning dew, sunbeams, its movements are graceful and fluid — creating a sense of harmony and balance, the pond’s calm waters reflecting the scene, inviting a sense of meditation and connection with nature, style of Howard Terpning and Jessica Rossier "
참고 : 디스크에서 양자화 된 모델을로드 할 때 -q
플래그를 전달할 필요가 없습니다.
또한 참고 : --path
인수를 통해 로컬 모델 (양자화 여부)이 있으면 HuggingFace 캐시 모델은 모델을 시작할 필요가 없습니다. 다시 말해, 선택한 경우 Huggingface 캐시에서 전체 16 비트 모델을 삭제하여 34GB 디스크 공간 (모델 당)을 되 찾을 수 있습니다.
전체 모델을 다운로드하고 직접 정량화하고 싶지 않다면 4 비트 가중치는 직접 다운로드 할 수 있습니다.
Mflux는 또한 사용자 지정 위치에서 직접 정점이없는 모델을 실행하는 것을 지원합니다. 아래의 예에서 모델은 /Users/filipstrand/Desktop/schnell
에 배치됩니다.
mflux-generate
--path " /Users/filipstrand/Desktop/schnell "
--model schnell
--steps 2
--seed 2
--prompt " Luxury food photograph "
디스크에서 모델을로드 할 때 --model
플래그를 설정해야합니다.
또한 모델을 초기화하는 일반적인 alias
방법을 사용할 때와 달리 (필요한 리소스가 다운로드 될 것을 내부적으로 처리 함) 디스크에서 직접 모델을로드 할 때 다운로드 된 모델이 다음과 같아야합니다.
.
├── text_encoder
│ └── model.safetensors
├── text_encoder_2
│ ├── model-00001-of-00002.safetensors
│ └── model-00002-of-00002.safetensors
├── tokenizer
│ ├── merges.txt
│ ├── special_tokens_map.json
│ ├── tokenizer_config.json
│ └── vocab.json
├── tokenizer_2
│ ├── special_tokens_map.json
│ ├── spiece.model
│ ├── tokenizer.json
│ └── tokenizer_config.json
├── transformer
│ ├── diffusion_pytorch_model-00001-of-00003.safetensors
│ ├── diffusion_pytorch_model-00002-of-00003.safetensors
│ └── diffusion_pytorch_model-00003-of-00003.safetensors
└── vae
└── diffusion_pytorch_model.safetensors
이것은 자원이 플럭스를위한 Huggingface Repo에 어떻게 배치되는지를 반영합니다. 이 프로젝트에서 직접 내보낸 양자화 된 양자와 달리 Huggingface 가중치는 약간 다르게 처리되어야하므로 위 의이 구조가 필요합니다.
이미지 생성을 조정하는 한 가지 방법은 기존 이미지에서 시작하여 Mflux가 새로운 변형을 생성하는 것입니다. --init-image-path
플래그를 사용하여 참조 이미지를 지정하고 --init-image-strength
지정하여 참조 이미지가 생성을 얼마나 안내 해야하는지 제어하십시오. 예를 들어 아래의 참조 이미지가 주어지면 다음 명령은 스케치 로라를 사용하여 첫 번째 이미지를 생성했습니다.
mflux-generate
--prompt " sketching of an Eiffel architecture, masterpiece, best quality. The site is lit by lighting professionals, creating a subtle illumination effect. Ink on paper with very fine touches with colored markers, (shadings:1.1), loose lines, Schematic, Conceptual, Abstract, Gestural. Quick sketches to explore ideas and concepts. "
--init-image-path " reference.png "
--init-image-strength 0.3
--lora-paths Architectural_Sketching.safetensors
--lora-scales 1.0
--model dev
--steps 20
--seed 43
--guidance 4.0
--quantize 8
--height 1024
--width 1024
Controlnet과 마찬가지로이 기술은 Lora 어댑터와 잘 결합됩니다.
위의 예에서 다음과 같은 Loras는 스케치를 사용하고 애니메이션 샷 및 플럭스 필름 카메라가 사용됩니다.
Mflux 지원 훈련 된 LORA 어댑터 로딩 (실제 교육 지원이 진행됩니다).
다음 예제 @thelastben의 _hound lora :
mflux-generate --prompt " sandor clegane " --model dev --steps 20 --seed 43 -q 8 --lora-paths " sandor_clegane_single_layer.safetensors "
다음 예제는 @norod78의 flux_1_dev_lora_paper-cutout-style lora입니다.
mflux-generate --prompt " pikachu, Paper Cutout Style " --model schnell --steps 4 --seed 43 -q 8 --lora-paths " Flux_1_Dev_LoRA_Paper-Cutout-Style.safetensors "
로라 훈련 된 무게는 일반적으로 트리거 단어 나 문구 로 훈련됩니다. 예를 들어, 후자의 경우, 문장에는 "종이 컷 아웃 스타일"이라는 문구가 포함되어야합니다.
또한 동일한 LORA 가중치는 schnell
및 dev
모델 모두에서 잘 작동 할 수 있습니다. 훈련 된 모드를 보려면 원래 LORA 저장소를 참조하십시오.
개별 어댑터의 효과를 결합하기 위해 여러 Loras를 전송할 수 있습니다. 다음 예는 위의 로라를 결합합니다.
mflux-generate
--prompt " sandor clegane in a forest, Paper Cutout Style "
--model dev
--steps 20
--seed 43
--lora-paths sandor_clegane_single_layer.safetensors Flux_1_Dev_LoRA_Paper-Cutout-Style.safetensors
--lora-scales 1.0 1.0
-q 8
차이를보기 위해이 이미지는 네 가지 사례를 표시합니다. 두 어댑터 중 하나는 완전히 활성화되고 부분적으로 활성화되어 있으며 LORA가 전혀 없습니다. 위의 예는 또한 --lora-scales
플래그의 사용을 보여줍니다.
다른 미세 조정 서비스는 다른 플럭스 구현을 사용할 수 있으므로 이러한 서비스에 대해 훈련 된 해당 LORA 가중치는 서로 다를 수 있습니다. Mflux의 목표는 가장 일반적인 것을 지원하는 것입니다. 다음 표는 현재 지원되는 형식을 보여줍니다.
지원 | 이름 | 예 | 메모 |
---|---|---|---|
✅ | bfr | Civitai- 인상주의 | Civitai의 많은 것들이 효과가있는 것 같습니다 |
✅ | 디퓨저 | flux_1_DEV_LORA_PAPER-CUTOUT 스타일 | |
xlabs-ai | 플럭스 리알리 클로라 |
LORA 형식 지원과 관련된 추가 형식, 예제 또는 기타 제안을보고하려면 이슈 #47을 참조하십시오.
Mflux는 이미지 생성에 대한보다 세밀한 제어를위한 Controlnet 지원을 제공합니다. --controlnet-image-path
통해 참조 이미지를 제공하고 --controlnet-strength
통해 강도 매개 변수를 제공하면 생성을 참조 이미지로 안내 할 수 있습니다.
mflux-generate-controlnet
--prompt " A comic strip with a joker in a purple suit "
--model dev
--steps 20
--seed 1727047657
--height 1066
--width 692
-q 8
--lora-paths " Dark Comic - s0_8 g4.safetensors "
--controlnet-image-path " reference.png "
--controlnet-strength 0.5
--controlnet-save-canny
이 예제는 Controlnet 참조 이미지와 Lora Dark Comic Flux를 결합합니다 .
generate-controlnet
명령을 처음 실행하면 자동으로 발생합니다. 현재 사용 된 Controlnet은 Instantx/Flux.1-Dev-Controlnet-Canny이며 dev
모델에 대해 교육을 받았습니다. schnell
과 잘 어울릴 수 있지만 성능은 보장되지 않습니다.
Controlnet은 Lora 어댑터와 함께 잘 작동 할 수 있습니다. 아래의 예에서 동일한 참조 이미지는 다른 프롬프트 및 LORA 어댑터가 활성화 된 컨트롤 네트 입력으로 사용됩니다.
export HF_HUB_DISABLE_PROGRESS_BARS=1
--args
전달하는 대신 파일에 복잡한 작업 매개 변수를 저장합니다.alias mflux-dev='mflux-generate --model dev'
alias mflux-schnell='mflux-generate --model schnell --metadata'
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다.