在任意后端运行任何模型(网站)
摘要
ZeroModels是一个工具,能够使用Keras 3在多个后端(JAX、PyTorch、TensorFlow)上运行任何AI模型,权重从原始检查点转换而来,且运行时无需依赖transformers或torch。
ZeroModels是一个完全用Keras 3构建的预训练模型集合。该集合涵盖广泛的任务,包括图像分类、目标检测、分割、单目深度估计、特征提取、视觉语言建模(VLMs)、语音识别等。相同的代码可以在JAX、PyTorch和TensorFlow上运行。运行时无需`transformers`或`torch`。
查看缓存全文
缓存时间: 2026/09/10 14:13
# 在任意后端运行任意模型
来源:https://imvision12.github.io/ZeroModels/
NewSAM 3、Gemma 4 和 GLM-5 已上线 (https://imvision12.github.io/ZeroModels/sam3/)
已将100多个模型家族移植到纯 Keras 3,权重从原始检查点转换而来。相同的代码可在 JAX、PyTorch 和 TensorFlow 上运行,运行时无需 `transformers` 或 `torch`。
## 两次调用完成预测¶ (https://imvision12.github.io/ZeroModels/#two-calls-to-a-prediction)
使用 `from_weights` 构建模型,然后输入其处理器生成的任何数据。库中每个模型都遵循此模式,因此在检测器、深度估计器和大语言模型之间切换无需额外成本。
```
pip install -U zeromodels
```
权重来源于 Hub 上的 `zeromodels` (https://huggingface.co/zeromodels) 组织,相同的标识符可同时构建模型及其处理器,因此分辨率和归一化始终与检查点匹配。
```
import os
os.environ["KERAS_BACKEND"] = "torch" # 或 "jax" / "tensorflow"
from PIL import Image
from zeromodels.models.detr import DETRDetect, DETRImageProcessor
model = DETRDetect.from_weights("zeromodels/detr-resnet-50")
processor = DETRImageProcessor.from_weights("zeromodels/detr-resnet-50")
image = Image.open("photo.jpg").convert("RGB")
output = model(processor(image)["pixel_values"], training=False)
results = processor.post_process_object_detection(
output, threshold=0.9, target_sizes=[(image.height, image.width)]
)[0]
```
### 一次调用,三种来源¶ (https://imvision12.github.io/ZeroModels/#one-call-three-sources)
`from_weights` 根据您传入的内容进行调度:Hub 上的预转换 Keras 仓库、实时转换上游检查点的裸变体名称,或 `hf:` 前缀后的任何兼容 Hugging Face 仓库。架构细节(包括微调的类别数)从仓库配置中读取。
加载权重 (https://imvision12.github.io/ZeroModels/loading_weights/)·主类 (https://imvision12.github.io/ZeroModels/main_classes/)
```
from zeromodels.models.qwen3 import Qwen3TextGenerate
from zeromodels.models.segformer import SegFormerSemanticSegment
# 预转换 Keras 权重 (zm_config.json)
SegFormerSemanticSegment.from_weights("zeromodels/segformer_b0_ade_512")
# 裸变体:实时从上游转换
Qwen3TextGenerate.from_weights("qwen3-8b")
# 任何具有匹配 model_type 的 Hub 仓库
SegFormerSemanticSegment.from_weights("hf:nvidia/segformer-b0-finetuned-ade-512-512")
# 仅架构,随机初始化
SegFormerSemanticSegment.from_weights(
"zeromodels/segformer_b0_ade_512", load_weights=False
)
```
### 实测输出,非示意性结果¶ (https://imvision12.github.io/ZeroModels/#measured-outputs-not-illustrative-ones)
模型页面上的每个数字和每个打印结果都来自实际在显示的图像或音频片段旁运行的代码片段。没有为了看起来合理而手写的内容,因此您读到的就是您自己运行时得到的结果。
浏览模型页面 (https://imvision12.github.io/ZeroModels/main_classes/)
SegFormer B5 在开放式厨房和田野牧群上的效果
### 任意后端,任意数据格式¶ (https://imvision12.github.io/ZeroModels/#any-backend-either-data-format)
在导入 Keras 之前设置 `KERAS_BACKEND`,其余不变。模型在**构建时**读取 `keras.config.image_data_format()`,因此如果需要 `channels_first` 也请先设置;处理器接受每个实例的 `data_format` 参数。
配置 (https://imvision12.github.io/ZeroModels/configuration/)·实用工具 (https://imvision12.github.io/ZeroModels/utils/)
```
import os
os.environ["KERAS_BACKEND"] = "jax" # 或 "torch" / "tensorflow"
import keras
keras.config.set_image_data_format("channels_first")
```
### 大型检查点,原样发布¶ (https://imvision12.github.io/ZeroModels/#large-checkpoints-as-they-ship)
- GPT-OSS 120B 以 bfloat16 加载,其 MoE 专家以 MXFP4 格式保持打包状态并在运行时解量化,因此内存占用保持在约 66 GB,而非 fp32 展开所需的约 130 GB。
- 仅权重的 int8、int4、fp8 和 mxfp4 是同一 `from_weights` 调用的参数,适用于任何模型。
量化 (https://imvision12.github.io/ZeroModels/quantization/)·int8 (https://imvision12.github.io/ZeroModels/quantization_int8/)·int4 (https://imvision12.github.io/ZeroModels/quantization_int4/)·fp8 (https://imvision12.github.io/ZeroModels/quantization_fp8/)·mxfp4 (https://imvision12.github.io/ZeroModels/quantization_mxfp4/)
```
from zeromodels.models.gpt_oss import GptOssTextGenerate
# 专家以 MXFP4 格式保持打包,在专家层的调用中解量化
model = GptOssTextGenerate.from_weights("zeromodels/gpt-oss-120b")
# 加载时仅权重量化,进一步减小内存占用
model = GptOssTextGenerate.from_weights("zeromodels/gpt-oss-120b", quantization="int8")
```
## 从哪里开始¶ (https://imvision12.github.io/ZeroModels/#where-to-start)
## 准备好使用 ZeroModels?
一次安装,118个模型家族,三大后端。
相似文章
路由器(网站)
Ramp公司推出的Router工具可通过将请求路由至满足性能需求的最低成本模型,最高降低40%的AI推理成本,并为多模型提供单一接入点。
Zer0Fit:我将Google最新的TabFM和TimesFM ML基础模型封装为MCP服务器,用于零样本机器学习任务(预测/分类/回归)。100%本地运行。[P]
Zer0Fit 提供了一个MCP服务器,该服务器封装了Google的TabFM和TimesFM基础模型,用于零样本预测、分类和回归任务,完全在本地运行。
@victormustar: https://x.com/victormustar/status/2059264598407033062
这篇文章描述了如何使用Hugging Face的ZeroGPU和一个编码代理,以有限的预算自主部署AI模型,特别是LongCat说话头像模型。
选择AI模型:一个提示词,11个模型,结果各异
Netlify 宣布与 OpenRouter 合作,可通过 AI Gateway 使用任何模型,并将 Agent Runners 扩展至包含 Kimi K3、GLM 5.2 和 DeepSeek V4 等开源模型。本文分享了在 11 个模型上运行相同提示词所得到的结果。
@dhruvtwt_:怎么没人聊这事?@nvidia 正免费提供约 80 款 AI 模型的托管 API
Nvidia 低调开放约 80 款免费托管 AI 模型 API,包括 MiniMax M2.7、GLM 5.1、Kimi 2.5、DeepSeek 3.2、GPT-OSS-120B 等,可直接接入 OpenClaude、Zed IDE 等主流开发工具。