littlebot
Published on 2025-04-07 / 0 Visits
0

【源码】基于C++的深度学习张量计算库

项目简介

本项目是基于C++实现的深度学习张量计算库和神经网络推理库,主要为移动平台提供高性能的深度学习计算支持。它参考了PyTorch和ncnn的设计,移除了所有与CPU无关的代码,未来可能支持GPU。项目主要用于NTHU電機系實作專題。

项目的主要特性和功能

  • C++17:采用现代C++标准,带来高效编程体验。
  • 无依赖:不依赖外部库,方便集成与部署。
  • 多线程支持:借助OpenMP实现多线程并行计算,提高计算效率。
  • 符号运算:支持符号运算,便于进行复杂数学计算。
  • Arm优化:针对Arm架构优化,提升在移动设备上的性能。
  • 图像处理:利用stb_image和OpenCV库,支持图像的加载、保存和绘制。
  • 模型转换:支持将NCNN模型转换为Otter项目,便于在不同平台部署。

安装使用步骤

前提条件

  • 已下载本项目的源码文件。
  • 安装了CMake(建议版本3.10以上)。
  • 安装了C++编译器(如g++或clang++)。

编译步骤

MacOS

  1. 创建并进入构建目录: bash mkdir build && cd build
  2. 生成构建文件: bash cmake ..
  3. 编译项目: bash make -j8
  4. (可选)针对Intel和M1芯片编译: bash cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" .. make -j8

Linux

  1. 创建并进入构建目录: bash mkdir build && cd build
  2. 生成构建文件: bash cmake ..
  3. 编译项目: bash make -j8

Windows

使用g++编译: bash g++ -DOTTER_CONFIG=1 -Os -fopenmp -ffp-contract=fast -mavx -mavx2 -msse3 -msse4.1 -msse4.2 -msse4a -mfma -o otter *.cpp

运行

编译完成后,生成的可执行文件位于build目录下,可直接运行以测试功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】