MLX Examples 完整指南:Apple M 芯片上的 20 个机器学习示例,从 MNIST 到图像与语音生成

MLX Examples 完整指南:Apple M 芯片上的 20 个机器学习示例,从 MNIST 到图像与语音生成 MLX Examples 完整指南Apple M 芯片上的 20 个机器学习示例从 MNIST 到图像与语音生成【免费下载链接】mlx-examplesExamples in the MLX framework项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-examplesMLX 是 Apple 推出的机器学习框架面向自研 M 系列芯片深度优化。mlx-examples 仓库基于它提供了约 20 个独立可运行的示例覆盖 MNIST 手写数字识别、CIFAR 图像分类、Stable Diffusion 文生图、CLIP 多模态嵌入、Llama/Mistral 大语言模型、Whisper 语音识别、MusicGen 音乐生成、LoRA 微调等经典任务。每个示例自带 requirements.txt 与说明文档本文梳理环境要求、运行顺序和各示例的文件位置方便按自己的需求直接上手。先了解框架MLX 的定位与优势MLX 是 Apple 官方框架为 Apple Silicon 的统一内存架构做了针对性优化在 Mac 上的推理速度和能耗表现普遍优于其他框架同时它的 Python API 设计简洁mlx.core、mlx.nn、mlx.optimizers三个核心模块对应张量操作、模型构建和训练优化与主流框架的心智模型基本一致。mlx-examples 的定位是“独立示例集合”每个子目录是一个自包含的演示不互相依赖。官方 README 明确建议从 MNIST 开始学习。环境准备三步跑通第一个 MLX 示例准备一台 M 芯片 Mac或 Apple Silicon 设备然后执行git clone https://gitcode.com/GitHub_Trending/ml/mlx-examples cd mlx-examples pip install mlx从 MNIST 入手整个训练流程只有几十行核心代码cd mnist pip install -r requirements.txt python main.pymnist/main.py 用两层 MLP 对手写数字做分类定义MLP模型类用nn.losses.cross_entropy作损失配合nn.value_and_grad和optim.SGD完成训练。它麻雀虽小五脏俱全是理解 MLX 张量、模块和梯度 API 最快的方式。按场景选示例图像、多模态、文本与音频图像生成Stable Diffusion、FLUX 与视频模型stable_diffusion/txt2image.py文生图脚本支持 SDXL-Turbo 与 SD 2.1 两套权重可调节采样步数、cfg 权重、负向提示词内存受限时可用--quantize做 8bit 量化。flux/txt2image.py 和 flux/dreambooth.pyFLUX 模型的生成与微调。video/wan2.1/Wan2.1 文生视频与图生视频入口为 txt2video.py 和 img2video.py。多模态CLIP 嵌入、LLaVA 对话与 Segment Anythingclip/clip.py对图像和文本做联合嵌入先运行 clip/convert.py 转换权重后可直接执行仓库自带 cat.jpeg 和 dog.jpeg 两张测试图。llava/generate.pyLLaVA 图文对话视觉编码与语言模型分别在 vision.py 和 language.py。segment_anything/SAM 图像分割notebooks/ 内有 predictor 与自动掩码生成两个 notebook配了真实照片演示。大语言模型Llama、Mistral、Mixtral 与 LoRA 微调llms/ 目录收录了主流 LLM 的最小可运行实现llms/llama/llama.py、llms/mistral/mistral.py以及 8x7B 的 Mixtral 混合专家模型llms/mixtral/和投机解码示例llms/speculative_decoding/。每个模型都附带 convert.py 用于把 PyTorch 权重转成 MLX 格式。参数高效微调看 lora/lora/lora.py 实现 LoRA/QLoRAfuse.py 负责把微调权重融合回原模型训练数据用的是 WikiSQL。另外 t5/、bert/、transformer_lm/ 分别覆盖文本转换、双向语言理解和 Transformer 语言模型训练。音频Whisper 语音识别、MusicGen 与 EnCodecwhisper/OpenAI Whisper 的 MLX 移植模型规模从 39M 到 1.5B 参数可选。安装 ffmpeg 和mlx-whisper包后一条命令即可完成转写mlx_whisper audio_file.mp3核心实现在 whisper/mlx_whisper/transcribe.py。musicgen/generate.py根据文本描述生成音乐。encodec/Meta EnCodec 的音频压缩与重建附 benchmarks/ 下的 MLX 与 PyTorch 对比基准脚本。其他算法方向CVAE、GCN 与归一化流cifar/main.pyResNet 在 CIFAR-10 上的分类。cvae/main.py卷积变分自编码器在 MNIST 上生成手写数字。gcn/main.py图卷积网络做半监督学习。normalizing_flow/Real NVP 归一化流用于密度估计与采样。speechcommands/关键词语音分类KWT。进阶使用量化、权重转换与社区权重三个实践中最常用的技巧在仓库里都能找到对应代码量化省内存MLX 提供nn.quantizeStable Diffusion 的--quantize参数就是对线性层和 UNet 做 8bit 量化的现成用例小内存 Mac 跑大模型时尤其有用。权重转换几乎每个模型目录都带convert.py如 clip/convert.py、stable_diffusion/ 依赖的 Hugging Face 权重下载逻辑把 PyTorch 检查点转成 MLX 格式后即可from_pretrained加载。社区现成权重转换好的检查点可在 Hugging Face 的 MLX Community 组织页直接下载省去本地转换时间。仓库各示例结构高度一致——requirements.txt装依赖、convert.py转权重、main.py或同名脚本跑演示从任意一个例子读懂套路后其余示例都能快速上手。【免费下载链接】mlx-examplesExamples in the MLX framework项目地址: https://gitcode.com/GitHub_Trending/ml/mlx-examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考