deepC
deepC 是一个专为微型控制器、物联网设备及边缘计算终端打造的深度学习库、编译器与推理框架。它致力于解决在资源受限的小型设备上部署复杂神经网络模型的难题,让开发者无需依赖特定硬件厂商的工具链,即可轻松实现模型落地。
无论是嵌入式工程师、算法研究人员,还是希望在树莓派、Arduino 或 RISC-V 开发板上运行 AI 应用的爱好者,都能通过 deepC 获得高效支持。其核心亮点在于采用“预编译”(Ahead-of-Time)策略:基于 LLVM 编译器工具链,将标准的 ONNX 模型直接转化为高度优化的本地可执行文件。这一过程不仅自动优化了内存占用和数据布局,还通过融合计算模式显著提升了推理速度,确保模型在低功耗设备上也能流畅运行。借助 deepC,用户可以将云端训练好的模型便捷地迁移至各类边缘设备,真正推动人工智能从云端走向终端。
使用场景
一家工业物联网团队试图将训练好的缺陷检测模型部署到工厂产线上资源受限的 Arduino 或 RISC-V 微控制器中,以实现实时边缘推理。
没有 deepC 时
- 硬件兼容性差:主流深度学习框架生成的模型体积过大且依赖复杂运行时,无法直接在微控制器(MCU)上运行,被迫更换昂贵的网关设备。
- 开发流程割裂:工程师需手动重写模型算子为 C/C++ 代码,不仅耗时数周,还极易引入人为错误导致精度下降。
- 性能优化困难:缺乏针对特定嵌入式芯片指令集的编译优化,导致推理延迟高、内存占用超标,无法满足产线毫秒级响应需求。
- 厂商锁定风险:解决方案往往绑定特定芯片厂商的私有工具链,一旦更换硬件平台,整个算法链路需推倒重来。
使用 deepC 后
- 无缝跨平台部署:deepC 作为独立于厂商的编译器,直接将 ONNX 模型编译为优化的可执行文件,轻松运行在 Arduino、SparkFun Edge 等各类微控制器上。
- 自动化编译流程:利用 deepC 的前端解析与 LLVM 后端,一键完成从模型到机器码的转换,将数周的移植工作缩短至几小时,且保持模型精度无损。
- 极致资源优化:deepC 自动进行图融合、数据布局优化及内存最小化处理,使模型在极小内存下也能高效推理,满足实时性要求。
- 灵活架构自由:基于标准的 ONNX 格式和 LLVM 工具链,团队可自由切换不同品牌的嵌入式芯片,无需修改上层算法逻辑。
deepC 通过打通从云端训练到微型终端的“最后一公里”,让高性能深度学习真正落地于低成本、低功耗的边缘设备。
运行环境要求
- Linux (Ubuntu 18.04
- CentOS 6
- Arch Linux
- Manjaro)
- macOS (Sierra 及以上)
- Windows (10 版本 1803 及以上)
未说明 (该工具主要面向微控制器、IoT 和边缘设备 CPU 推理,基于 LLVM 编译链,未提及 GPU 加速需求)
未说明

快速开始
deepC
deepC 是一个与供应商无关的深度学习库、编译器和推理框架,专为小型设备设计,包括 微控制器、物联网设备和边缘设备。
🏃♂️ 使用 deepC
以下是几种使用方式:
- 通过 Colab Notebook 尝试 deepC。
- 在 Ubuntu、Raspbian(或其他 Debian 衍生系统)上使用
pip install deepC进行安装。 - 编译 ONNX 模型——阅读这篇文章 或观看 这个视频。
- 使用 Docker 文件 配合 deepC。
更多示例请参阅 教程 目录。
📛 deepC 是什么?
deepC 库、编译器和推理框架旨在支持并运行深度学习神经网络,专注于微控制器、eFPGA、CPU 等小型设备以及树莓派 (raspberry-pi)、ODROID (odroid)、Arduino (arduino)、SparkFun Edge (sparkfun edge)、RISC-V (risc-V)、手机、x86 和 ARM 笔记本电脑等嵌入式设备的特点。

deepC 还提供提前编译器,基于针对深度神经网络优化的 LLVM 编译工具链 生成优化后的可执行文件,并以 ONNX 作为前端。
📝 设计
deepC 的主要组件旨在用高级图 IR 表示和优化常见的深度学习网络,并转换计算图以最小化内存占用、优化数据布局以及针对不同硬件后端融合计算模式。
更多信息请参阅 高层设计文档。
💧 前置条件
💻 开发
按照以下步骤从源代码本地构建并开始修改 deepC:
⭕ Ubuntu 18.04
按步骤安装前置条件:
sudo apt-get update
sudo apt-get install build-essential python3.6-dev python3-pip swig doxygen clang-format clang clang-8 llvm-8 llvm-8-dev protobuf-compiler libprotoc-dev
sudo pip3 install numpy==1.15.0 onnx==1.5.0
完成后,构建 deepC:
git clone https://github.com/ai-techsystems/deepC.git
cd deepC
make
⭕ Mac OS / Windows 10
确保您已安装以下前置条件:
Mac OS:
Windows 10:
完成后,在 Docker 容器中构建 deepC:
git clone https://github.com/ai-techsystems/deepC.git
cd deepC
python buildDocker.py
📜 输出
find include src swig -name \*.h -print0 -o -name \*.cpp -print0 | xargs -0 -P8 -n1 clang-format -i
make -C src
make[1]: Entering directory 'deepC/src'
make -C core
make[2]: Entering directory 'deepC/src/core'
compiling broadcast.cpp
/usr/bin/g++ -O3 -Wall -std=c++14 -fPIC -march=native -msse2 \
-isystem ./packages/eigen-eigen-323c052e1731 -I./include \
-c broadcast.cpp -o obj/broadcast.o
compiling tensor.cpp
...
...
/usr/bin/g++ -shared ./obj/dnnc_swig.o ./obj/dnnc_pyutils.o ./obj/dnnc_api.o -o lib/libdnnc.so
ln -s -f lib/libdnnc.so _dnnc.so
/usr/bin/python3 ../test/swig/basic.py
当前支持
| 支持的架构 | 状态 | |------------------------- |----------| | Arm | ✔️ | | Armv7 | ✔️ | | Arm64 | ✔️ | | AMD64 | ✔️ | | ppc64le | ✔️ |
| 支持的操作系统 | 发行版 | 状态 | |-------------- |---------------- |-----------| | Linux | Ubuntu 18.04 | ✔️ | | Linux | CentOS 6 | ✔️ | | Linux | Arch Linux | ✔️ | | Linux | Manjaro | ✔️ | | Windows | 1803 及以上 | ✔️ | | Mac OS | Sierra 及以上 | ✔️ |
➕ 贡献
dnn Compiler 采用 Apache 提交者模式,我们的目标是创建一个由社区维护和拥有的开源项目。请查看贡献指南。
🙏 致谢
我们感谢先前项目如 LLVM、ONNX 等的努力,使本项目得以实现。
🕵️♂️ 为什么需要编译器❔
deepC 针对的是微控制器等小型设备,这些设备广泛应用于各种家用电器、汽车和玩具中。事实上,每年大约有 300 亿台由微控制器驱动的设备被生产出来。它们价格低廉、能耗极低且非常可靠。
通过将深度学习模型部署到微型微控制器上,我们可以提升数十亿日常生活中使用的设备的智能化水平,而无需依赖昂贵的硬件或稳定的互联网连接。想象一下能够适应您日常作息的智能家电、能区分故障与正常运行的工业传感器,以及以有趣且愉快的方式帮助孩子学习的神奇玩具。
组织
请贵组织支持本项目。您的 logo 将在此处显示,并附带指向您网站的链接。[贡献]
基于/使用 deepC
产品
- 无代码 TinyML 平台,基于 deepC 技术构建。
- 无代码 TinyML 书籍,其中包含关于 deepC 的一章。
论文
- 论文:深度神经网络算子,发表于 2019 年 AITS 峰会论文集
- 短文:使用 deepC 进行手势识别,发表于 国际创意研究思想期刊
- 海报:面向微控制器和微型计算机的深度神经网络编译器与推理框架,发表于 IRISS 2020 第十四届跨研究所计算机科学学生研讨会
论文引用
- 斯坦福大学报告标题:中英神经机器翻译中的模型压缩
- 标题:物联网时代的人工智能:边缘 AI 硬件与软件综述
- 标题:用于边缘环境声音分类的微型 Transformer
- 标题:高效边缘分析:利用音频端侧机器学习应对网络物理 MASINT
- 标题:采用编码分区混合稀疏格式实现稀疏 CNN 的高效低内存部署
- 标题:面向智能电网的智能电表:物联网视角
书籍章节
版本历史
v0.122019/11/19常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
