Hub documentation
在 Hugging Face 上使用 mlx-image
单点登录(SSO) 审计日志 存储区域 用于私有数据集的 Data Studio 资源组(访问控制) 高级计算选项 高级安全 令牌管理 服务账号 发布者分析 门控组集合 网络安全 下载分析 速率限制 博客文章
PRO 计划 仓库 入门仓库 仓库设置 存储限制 存储后端(Xet) 本地缓存 Pull Requests 与 Discussions 通知 集合 Webhooks GitHub Actions Notebooks 后续步骤 许可证
模型 模型中心 模型卡片 评估结果 排行榜数据 受限模型 上传模型 下载模型 集成库
数据集 Spaces 适配器 AllenNLP BERTopic Asteroid Diffusers ESPnet fastai Flair Keras TF-Keras(旧版) ML-Agents mlx-image MLX OpenCLIP PaddleNLP peft RL-Baselines3-Zoo Sample Factory Sentence Transformers SetFit spaCy SpanMarker SpeechBrain Stable-Baselines3 Stanza TensorBoard timm Transformers Transformers.js Unity Sentis
模型小部件 模型推理 模型下载统计 模型发布检查清单 硬件 本地应用 常见问题 高级主题 Spaces 概览 Spaces GPU 升级 Spaces ZeroGPU Spaces 开发模式 Spaces 磁盘使用量与存储 Spaces 自定义域名 Spaces 作为 MCP 服务器 Spaces 作为智能体工具 将 Spaces 用作 API 端点 Gradio Spaces Streamlit Spaces 静态 HTML Spaces Docker Spaces 嵌入您的 Space 使用 Docker 运行 Spaces Spaces 配置参考 使用 HF 登录按钮 精选 Spaces Spaces 更新日志 高级主题
存储桶 new 容器镜像 new 任务 智能体 智能体概述 Hugging Face AI 智能体 CLI Hugging Face MCP 服务器 Hugging Face Agent Skills 使用 HF SDK 构建智能体 使用 llama.cpp 的本地代理 Agent 库 会话跟踪格式
其他 在 Hugging Face 上使用 mlx-image
mlx-image 是由 Riccardo Musmeci 基于 Apple MLX 开发的图像模型库。它旨在复刻出色的 timm,但专为 MLX 模型设计。
在 Hub 上探索 mlx-image
您可以通过使用 mlx-image 库名称进行筛选来查找 mlx-image 模型,例如 此查询。
此外,还有一个开放的 mlx-vision 社区,供贡献者转换并发布 MLX 格式的权重。
安装
pip install mlx-image
模型
模型权重可在 Hugging Face 的 mlx-vision 社区上获取。
要加载带有预训练权重的模型:
from mlxim.model import create_model
# loading weights from HuggingFace (https://huggingface.co/mlx-vision/resnet18-mlxim)
model = create_model("resnet18") # pretrained weights loaded from HF
# loading weights from local file
model = create_model("resnet18", weights="path/to/resnet18/model.safetensors")要列出所有可用的模型:
from mlxim.model import list_models
list_models()ImageNet-1K 结果
前往 results-imagenet-1k.csv 查看每个转换为 mlx-image 的模型及其在不同设置下于 ImageNet-1K 上的性能。
TL;DR 性能与 PyTorch 实现的原始模型相当。
与 PyTorch 及其他熟悉工具的相似性
mlx-image 力求尽可能贴近 PyTorch:
DataLoader-> 您可以自定义collate_fn,并使用num_workers来加速数据加载Dataset->mlx-image已经支持LabelFolderDataset(经典 PyTorchImageFolder)和FolderDataset(包含图像的通用文件夹)ModelCheckpoint-> 跟踪最佳模型并将其保存到磁盘(类似于 PyTorchLightning)。它还建议提前停止
训练
训练与 PyTorch 类似。以下是训练模型的示例:
import mlx.nn as nn
import mlx.optimizers as optim
from mlxim.model import create_model
from mlxim.data import LabelFolderDataset, DataLoader
train_dataset = LabelFolderDataset(
root_dir="path/to/train",
class_map={0: "class_0", 1: "class_1", 2: ["class_2", "class_3"]}
)
train_loader = DataLoader(
dataset=train_dataset,
batch_size=32,
shuffle=True,
num_workers=4
)
model = create_model("resnet18") # pretrained weights loaded from HF
optimizer = optim.Adam(learning_rate=1e-3)
def train_step(model, inputs, targets):
logits = model(inputs)
loss = mx.mean(nn.losses.cross_entropy(logits, target))
return loss
model.train()
for epoch in range(10):
for batch in train_loader:
x, target = batch
train_step_fn = nn.value_and_grad(model, train_step)
loss, grads = train_step_fn(x, target)
optimizer.update(model, grads)
mx.eval(model.state, optimizer.state)其他资源
联系我们
如有任何问题,请通过电子邮件联系 riccardomusmeci92@gmail.com。