MFLUX 使用教程
1. 项目介绍
MFLUX 是一个基于 Huggingface Diffusers 库的 FLUX 模型的 MLX 端口实现。它旨在保持最小化和明确性,网络架构是硬编码的,除了分词器外不使用任何配置文件。MFLUX 的目的是拥有一个单一目的的小型代码库,即表达这些模型(从而避免过多的抽象)。虽然 MFLUX 优先考虑可读性而不是通用性和性能,但它仍然可以非常快速,甚至量化后的版本更快。
2. 项目快速启动
安装
对于用户来说,最简单的方法是使用 uv
工具进行安装:如果你已经安装了 uv
,只需运行以下命令:
uv tool install --upgrade mflux
这将获取 mflux-generate
和相关的命令行可执行文件。
或者,你可以通过以下步骤手动创建一个用户虚拟环境:
mkdir -p mflux && cd mflux && python3 -m venv .venv && source .venv/bin/activate
这将创建并激活一个位于 mflux
文件夹中的虚拟环境。之后,通过 pip 安装 MFLUX:
pip install -U mflux
运行
运行 mflux-generate
命令,指定一个提示词、模型和一些可选参数。例如,以下使用量化版的 schnell
模型进行 2 步生成:
mflux-generate --model snel --prompt "豪华食物摄影" --steps 2 --seed 2 -q 8
如果你想使用更强大的 dev
模型并运行 25 个时间步:
mflux-generate --model dev --prompt "豪华食物摄影" --steps 25 --seed 2 -q 8
注意:如果特定模型尚未下载到你的机器上,它将开始下载过程并获取模型权重(schnell
或 dev
模型分别约为 34GB 大小)。有关运行压缩版模型的更多信息,请参阅量化部分。
3. 应用案例和最佳实践
生成图像
以下是一个生成图像的例子:
mflux-generate --model schnell --prompt "一个宁静的湖面" --steps 10 --seed 42
--prompt
:描述要生成的图像的文本。--model
:用于生成的模型。--steps
:生成过程中的步骤数。--seed
:随机数生成的种子。
图像填充
MFLUX 还支持图像填充功能,以下是一个简单的填充示例:
mflux-generate --model snel --prompt "填充图像" --fill "path/to/image.jpg" --seed 42
--fill
:指定要填充的图像路径。
Dreambooth 微调
Dreambooth 是一种微调技术,用于根据特定图像集调整模型。以下是一个基本的微调命令:
mflux-generate --model dev --prompt "微调图像" --dreambooth "path/to/dataset" --steps 100 --seed 42
--dreambooth
:指定数据集路径。
4. 典型生态项目
目前,MFLUX 社区正在开发多种相关项目,包括但不限于:
- 图像到图像的生成。
- 使用 LoRA(Low-Rank Adaptation)进行模型适应。
- 实时风格迁移。
这些项目可以在 MFLUX 的 GitHub 仓库相关 issues 和 pull requests 中找到。社区欢迎贡献者和用户分享他们的经验和项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考