在 Mac 上跑通 MLX 示例:从手写数字分类到文生图的完整路径
【免费下载链接】mlx-examplesExamples in the MLX framework项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-examples
想在 M 系列 Mac 上本地跑文生图和语音识别,又不想折腾 CUDA 环境?mlx-examples 把图像生成、语音转写、视觉语言对话这些任务的 MLX 可运行示例都放在了同一个仓库里。
mlx-examples 是 Apple 官方 MLX 框架的示例仓库,覆盖 Apple Silicon 上训练、推理与生成的常用任务:
- 训练并评估小型模型
- 文生图、文生视频
- 语音转文字
克隆仓库并运行第一个示例
从最精简的 MNIST 示例入手:它用两层 MLP 在手写数字上训练 10 个 epoch,每个 epoch 打印一次测试准确率和耗时。
git clone https://gitcode.com/GitHub_Trending/ml/mlx-examples cd mlx-examples/mnist pip install -r requirements.txt python main.py输出形如Epoch 0: Test accuracy 0.925, Time 0.012 (s),看到 accuracy 逐轮上升就说明流程跑通了。在 Mac 上加--gpu可切换到 Metal 后端,用--dataset fashion_mnist还能换成时装数据集。注意首次运行会把数据集下载到 /tmp 目录,需要保持网络可用。
入口 mnist/main.py 全文不到一百行,把建模、损失计算、参数更新三步都写在一个文件里,是理解 MLX 训练循环最短的入口。
🖼️ 按任务演示
用文字生成一张图
输入提示词,Stable Diffusion(默认 sdxl-turbo,也可选 SD 2.1)输出图片,权重首次运行时直接从 Hugging Face 拉取。
- 入口:stable_diffusion/txt2image.py
- 边界:8GB 内存的机型建议加
-q参数做量化;sdxl-turbo 只需 2 步采样
cd stable_diffusion pip install -r requirements.txt python txt2image.py "a still life painting" --n_images 4 --n_rows 2结果默认写入out.png,可用--output改名。
让模型看图回答
把图片和问题一起交给 LLaVA 多模态模型,它会以文本形式作答,--image传本地路径或 URL 均可。
- 入口:llava/generate.py
- 边界:默认加载 7B 模型,首次运行自动下载权重,内存占用相对更高
cd llava pip install -r requirements.txt python generate.py --image your_image.jpg --max-tokens 128把录音转成文字
用 Whisper 转写音频文件,结果写入同名文本文件,也支持从 stdin 管道输入。
- 入口:whisper/mlx_whisper/transcribe.py
- 边界:依赖系统安装的 ffmpeg;默认 tiny 模型,可用
--model换更大的
pip install mlx-whisper mlx_whisper meeting.mp3在 Python 里调用mlx_whisper.transcribe时传word_timestamps=True还能拿到词级时间戳。
让图片和文字对齐
用 CLIP 把图像和文本编码到同一嵌入空间,即可直接计算图文相似度,适合做检索或分类前处理。
- 入口:clip/clip.py,先运行
python convert.py把权重转成 MLX 格式 - 亮点:示例自带最小化的预处理实现,依赖很少;clip/linear_probe.py 里还有一个线性探针训练示例
选择下一步深入方向
- flux/txt2image.py:用 FLUX 模型文生图,配套 LoRA 微调与训练器
- video/wan2.1/txt2video.py:基于 Wan2.1 的文生视频、图生视频
- lora/lora.py:LoRA/QLoRA 参数高效微调的核心实现
- llms/llama/llama.py:Llama 系模型的权重转换与推理采样
- musicgen/generate.py:按文字描述生成音乐片段
跑通 MNIST 后,可以打开 lora/README.md 对照示例数据文件,在本地做一次 LoRA 微调,看看参数高效训练与全量训练的差异。
【免费下载链接】mlx-examplesExamples in the MLX framework项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-examples
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考