OnnxStream

让树莓派跑SDXL,低内存设备也能玩转大模型

OnnxStream 是一个轻量级的 ONNX 推理库,用 C++ 编写,专为资源受限环境设计。它解决了在低内存、低算力设备(如树莓派 Zero 2)上运行大型模型的问题,能在 298MB 内存中运行 Stable Diffusion XL 1.0,在桌面和服务器上也能运行 Mistral 7B 等大模型。核心能力包括:支持 ARM、x86、WASM、RISC-V 多架构,通过 XNNPACK 加速,提供 Python、C# 和 JS(WASM) 绑定,覆盖图像生成、文本生成、语音识别(Whisper)和物体检测(YOLOv8)等场景。其设计强调极低内存占用和可移植性,适合边缘计算和嵌入式部署。

开源 free 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2088
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类图像生成
开发团队vitoplantamura
所属国家
定价模式free
价格说明开源库,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议NOASSERTION
主要语言C++
技术栈/模型llama,machine-learning,mistral,onnx,raspberry-pi,stable-diffusion,tinyml,wasm,webassembly,whisper,yolov8
GitHub 星标★ 2088
30天Star增速
HF 下载量
上线时间2023-07-14 00:00:00
最近更新2026-09-17 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:进阶 约 30 分钟 部署方式:命令行工具 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境(用于运行 onnx_simplifier)
  • 从 Hugging Face 导出模型时约需 100GB 交换空间
  • 手动固定输入形状时建议 16GB 内存
  • OnnxStream 的 Windows release(含标准 SD 1.5 模型与可执行文件)

安装与启动步骤

  1. 1获取 OnnxStream

    从 README 提到的 Windows release 获取 OnnxStream,其中包含标准 SD 1.5 模型与可执行文件。

  2. 2简化 ONNX 模型

    使用 onnx_simplifier 对固定后的模型进行简化,生成 model_simplified.onnx。

    python -m onnx_simplifier model_fixed3.onnx model_simplified.onnx
  3. 3处理大模型简化

    若简化大模型时出错,可尝试 README 提供的 onnxsim_large_model 工具。

  4. 4放入 unet_fp16 目录

    将 onnx2txt 生成的最终模型移入标准 SD 1.5 模型的 unet_fp16 文件夹。

  5. 5运行模型

    在已放好模型的目录下执行 sd 可执行文件,指定模型路径、提示词、步数,并启用树莓派模式。

    ./sd --models-path ./Converted/ --prompt "space landscape" --steps 28 --rpi

关键配置

配置项必填说明示例
--models-path是指定转换后模型的存放目录./Converted/
--prompt是生成图像所用的文本提示词space landscape
--steps否扩散推理的采样步数28
--rpi否README 示例中使用的标志,用于低资源设备(如树莓派)--rpi

如何确认成功

执行 ./sd 命令后无报错并完成推理,即表示运行成功(README 未说明输出文件位置)。

常见问题

Q:简化大模型时遇到问题怎么办?

A:可尝试 README 提供的 onnxsim_large_model 工具,链接为 https://github.com/luchangli03/onnxsim_large_model。

Q:转换模型需要多少内存或交换空间?

A:从 Hugging Face 导出需约 100GB 交换空间;手动固定输入形状时 16GB RAM 即可。

Q:转换过程耗时很久正常吗?

A:正常,README 提示过程可能花费较长时间,请耐心等待。

Q:模型转换完放在哪里?

A:将 onnx2txt 生成的最终模型移入标准 SD 1.5 模型的 unet_fp16 文件夹。

注意事项

  • README 节选未提供完整的编译安装步骤,需自行参考官方仓库。
  • 大模型转换需大量磁盘/内存资源,建议提前准备。
  • README 示例中的 --rpi 标志未附带说明,使用前建议查阅官方文档确认。
  • 命令中的路径和提示词仅为 README 示例,请按实际模型目录替换。

核心亮点

  • 极低内存占用:能在 298MB RAM 中运行 SDXL 1.0,远超同类库
  • 多架构支持:覆盖 ARM、x86、WASM、RISC-V,部署灵活
  • 多语言绑定:提供 Python、C#、JS(WASM) 接口,易集成

不足之处

  • 文档/社区待观察
  • 推理速度可能较慢,尤其在低端设备上

适用场景

  • 树莓派等边缘设备上的图像生成
  • 浏览器内运行小型模型(WASM)
  • 嵌入式系统上的多模型推理

替代项目

ONNX Runtime、TinyEngine、NCNN

项目介绍

OnnxStream 是基础设施领域的开源项目,由 vitoplantamura 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,088)位列前 30%,在基础设施分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-17。开源库,完全免费,可自行部署使用。

它主要面向的使用场景是:树莓派等边缘设备上的图像生成。同类可对比的替代方案包括 ONNX Runtime、TinyEngine、NCNN。

上一篇:instill-core

下一篇:onediff

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09