EN|CN
EasyDK(Cambricon® Neuware Easy Development Kit)提供了一套面向 MLU(Machine Learning Unit,寒武纪机器学习单元)设备的高级别的接口(C++11标准), 用于面向MLU平台(MLU270,MLU220)快速开发和部署深度学习应用。
EasyDK共包含如下6个模块:
本节将简单介绍如何从零开始构建EasyDK,并运行示例代码完成简单的深度学习任务。
寒武纪EasyDK仅支持在寒武纪MLU270和MLU220平台上运行。
构建和运行EasyDK有如下依赖:
测试程序和示例有额外的依赖:
如果您在使用Ubuntu或Debian,可以运行如下命令安装依赖:
sudo apt install libgoogle-glog-dev
# samples dependencies
sudo apt install libgflags-dev libopencv-dev
如果您在使用CentOS,可以运行如下命令安装依赖:
sudo yum install glog
# samples dependencies
sudo yum install gflags opencv-devel
Easydk仅支持源码编译的方式使用,按如下步骤编译Easydk (${EASYDK_DIR}
代表easydk源码目录):
cd ${EASYDK_DIR}
mkdir build # Create a directory to save the output.
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
make
编译后的库文件存放在 ${EASYDK_DIR}/lib
,头文件在 ${EASYDK_DIR/include}