N2D2(神经网络设计和部署)是CEA LIST的 CAD 框架,用于设计和模拟深度神经网络 (DNN),并在嵌入式平台上构建完整的基于 DNN 的应用程序。N2D2 是与工业和学术合作伙伴一起开发的,并且是开源的。
文档 | Linux CPU ≥ 海湾合作委员会 4.4.7 |
Linux GPU CUDA 11.3 + CuDNN 8 |
Windows CPU ≥ 视觉工作室 2015.2 |
Windows GPU ≥ CUDA 8.0 + CuDNN 5.1 |
---|---|---|---|---|
您可以通过访问我们的在线文档来了解如何使用该框架。
- 框架的总体介绍
- 如何编译 N2D2 并执行模拟
- 如何编写神经网络模型
- 如何量化神经网络模型
- 如何导出神经网络模型
- 教程
N2D2 可执行文件和应用程序示例位于exec/目录中。
您可以在此处找到 N2D2 Python API 的示例。
git clone --recursive git@github.com:CEA-LIST/N2D2.git
指定需要递归选项,因为它将下载 PyBind 子模块。
N2D2 唯一的强制依赖项是 OpenCV 和 Gnuplot。
此外,需要 NVIDIA CUDA 和 CuDNN 库才能启用 GPU 加速。我们强烈建议使用高于 10 的 CUDA 版本和高于 7 的 CuDNN 版本。
如果要禁用 CUDA 支持,请导出环境变量N2D2_NO_CUDA=1
。
要在 Linux 上编译 N2D2,请转到项目的根目录并运行以下命令:
mkdir build
cd build
cmake .. && make
编译后您应该会获得n2d2
可执行文件。build/bin
要在您的 python 环境中安装 Python API,请按照我们文档中的教程进行操作。
您还可以从 Docker Hub 中提取预构建的 docker 映像并使用 docker 运行它
docker pull cealist/n2d2
docker run --gpus all cealist/n2d2:latest
另一种可能性是从Dockerfile
. 它用于构建支持 CUDA 10.2 和 CuDNN 8 的图像。
如果您想为 N2D2 项目做出贡献,我们很高兴得到您的帮助!欢迎每个人通过拉取请求贡献代码,在 GitHub 上提交问题,帮 6BC6 人们寻求帮助,修复人们提交的错误,添加到我们的文档中,或以任何其他方式提供帮助。
我们向获得我们信任并表现出对 N2D2 承诺的人员授予提交访问权限(包括对问题数据库的完整权限,例如能够编辑标签)。
有关更多详细信息,请参阅我们的贡献指南。
N2D2 根据CeCILL-C许可证发布,这是一个适用于国际和法国法律事务的自由软件许可证,与 FSF 的 GNU/LGPL 许可证完全兼容。