README_cn.md 3.8 KB

EN|CN

Cambricon® Easy Development Kit

EasyDK(Cambricon® Neuware Easy Development Kit)提供了一套面向 MLU(Machine Learning Unit,寒武纪机器学习单元)设备的高级别的接口(C++11标准), 用于面向MLU平台(MLU270,MLU220)快速开发和部署深度学习应用。

EasyDK共包含如下6个模块:

  • Device: 提供MLU设备上下文及内存等相关操作
  • EasyCodec: 提供支持视频与图片的MLU硬件编解码功能
  • EasyInfer: 提供离线模型推理相关功能
  • EasyBang: 提供简易调用Bang算子的接口,目前支持的算子有ResizeConvertCrop和ResizeYuv
  • EasyTrack: 提供目标追踪的功能
  • cxxutil: 其他模块用到的部分cpp实现

modules

快速入门

本节将简单介绍如何从零开始构建EasyDK,并运行示例代码完成简单的深度学习任务。

配置要求

寒武纪EasyDK仅支持在寒武纪MLU270和MLU220平台上运行。

构建和运行环境依赖

构建和运行EasyDK有如下依赖:

  • CMake 2.8.7+
  • GCC 4.8.5+
  • GLog 0.3.4
  • Cambricon NEUWARE

测试程序和示例有额外的依赖:

  • OpenCV 2.4.9+
  • GFlags 2.1.2
  • FFmpeg 2.8 3.4 4.2

Ubuntu or Debian

如果您在使用Ubuntu或Debian,可以运行如下命令安装依赖:

   sudo apt install libgoogle-glog-dev
   # samples dependencies
   sudo apt install libgflags-dev libopencv-dev

CentOS

如果您在使用CentOS,可以运行如下命令安装依赖:

   sudo yum install glog
   # samples dependencies
   sudo yum install gflags opencv-devel

编译项目

Easydk仅支持源码编译的方式使用,按如下步骤编译Easydk (${EASYDK_DIR} 代表easydk源码目录):

  1. 创建编译文件夹存储编译结果。
   cd ${EASYDK_DIR}
   mkdir build       # Create a directory to save the output.
  1. 运行CMake配置编译选项,并生成编译指令,该命令将会在build目录下生成Makefile文件。
   cd build
   cmake ${EASYDK_DIR}  # Generate native build scripts.

Cambricon EasyDK提供了一个CMakeLists.txt描述编译流程,您可以从 http://www.cmake.org/ 免费下载和使用cmake。

| cmake 选项 | 范围 | 默认值 | 描述 | | ------------------ | --------------- | ------- | ------------------------ | | BUILD_SAMPLES | ON / OFF | OFF | 编译samples | | BUILD_TESTS | ON / OFF | OFF | 编译tests | | WITH_CODEC | ON / OFF | ON | 编译EasyCodec | | WITH_INFER | ON / OFF | ON | 编译EasyInfer | | WITH_TRACKER | ON / OFF | ON | 编译EasyTracker | | WITH_BANG | ON / OFF | ON | 编译EasyBang | | WITH_INFER_SERVER | ON / OFF | ON | 编译infer-server | | WITH_TURBOJPEG | ON / OFF | OFF | 编译turbo-jpeg | | ENABLE_KCF | ON / OFF | OFF | Easytrack支持KCF | | SANITIZE_MEMORY | ON / OFF | OFF | 检查内存 | | SANITIZE_ADDRESS | ON / OFF | OFF | 检查地址 | | SANITIZE_THREAD | ON / OFF | OFF | 检查多线程 | | SANITIZE_UNDEFINED | ON / OFF | OFF | 检查未定义行为 |

示例:

   cd build
   # build with samples and tests
   cmake ${EASYDK_DIR}      \
        -DBUILD_SAMPLES=ON  \
        -DBUILD_TESTS=ON
  1. 运行编译指令。
   make

编译后的库文件存放在 ${EASYDK_DIR}/lib ,头文件在 ${EASYDK_DIR/include}