如何用 MLX 本地跑通 FLUX 文生图:一条命令快速上手指南
【免费下载链接】mlx-examplesExamples in the MLX framework项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-examples
mlx-examples 仓库的 flux 示例,用 MLX 在 Apple Silicon 上本地跑 FLUX 图像生成:输入提示词就能出图,还能用 LoRA 微调定制对象。读完你能装好依赖、跑通生成命令,并了解微调的做法。
上手之前:硬件与依赖清单
- 硬件:Apple Silicon(M1 或更新)的 macOS。MLX 依赖 Metal 计算,NVIDIA/AMD 显卡不支持。
- 依赖:克隆后在
flux/目录执行pip install -r requirements.txt,核心是 mlx 与 huggingface-hub。
git clone https://gitcode.com/GitHub_Trending/ml/mlx-examples cd mlx-examples/flux- 权重:首次运行会自动从 Hugging Face Hub 下载模型,无需手动配置。
- 内存:推理 16GB 够用;LoRA 微调示例约需 50GB。
最小复现:一条命令生成第一张图 🖼
在flux/目录执行:
python txt2image.py --model schnell \ --n-images 1 --image-size 256x512 --verbose \ 'A photo of an astronaut riding a horse on Mars.'产物是当前目录的out.png。首次会连同 schnell 权重一起下载,偏慢;缓存后生成在秒级到几十秒内完成。下图是 FLUX 生成的效果图示例(README 中的 sks dog),实际内容由你输入的提示词决定:
关键参数:常用参数对照 ⚙️
| 参数 | 作用 | 建议值 |
|---|---|---|
--model | 选择基础模型 schnell 或 dev | 默认 schnell,速度更快;dev 质量更高但更吃内存 |
--n-images | 一次生成的图片数量 | 1;多张会自动排成网格 |
--image-size | 输出图像尺寸,WxH | 512x512;两边须为 16 的倍数,否则自动调整 |
--steps | 去噪步数 | schnell 2、dev 50(默认值) |
--output | 输出文件路径 | 默认 out.png;配--save-raw可逐张保存 |
进阶玩法:LoRA 微调专属对象 🎨
用 LoRA 让模型认识你的专属对象,官方示例直接引用 Hugging Face 社区的 dog6 数据集(5 张图加描述文件):
python dreambooth.py \ --progress-prompt 'A photo of an sks dog lying on the sand at a beach in Greece' \ --progress-every 600 --iterations 1200 --learning-rate 0.0001 \ --lora-rank 4 --grad-accumulate 8 \ mlx-community/dreambooth-dog6训练后适配器保存在mlx_output/final_adapters.safetensors(M2 Ultra 上约 1 小时出头)。生成时给txt2image.py加--adapter指向该文件、配--fuse-adapter提速,提到 sks dog 的提示词就能稳定出这只狗。
常见问题:新手高频坑
Q:生成时显存/内存不够?A:先加--quantize量化权重,再调小--image-size或改用 schnell。
Q:图像尺寸可以任意填吗?A:不能。两边须是 16px 的倍数,脚本会自动取整并给出警告。
Q:如何复现同一张图?A:用--seed固定随机种子。
更多参数看python txt2image.py --help。完整参数说明、微调细节与多机分布式部署见 flux/README.md,推理管线实现在 flux/flux/。
【免费下载链接】mlx-examplesExamples in the MLX framework项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-examples
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考