• ncnn编译与安装


    ncnn 是由腾讯开发一个跨平台的神经网络前向计算框架,为手机端推理提供了极致优化的高性能。其源码编译可参考官方教程Building。这里记录一下编译安装流程(Windows/Linux)。

    一、安装所需依赖

    • git
    • g++
    • cmake
    • Protobuf
    • GLslang
    • Vulkan(可选,GPU推理)
    • opencv (可选,编译例子需要)

    其中git、g++、cmake是编译所需的工具。Protobuf(protocol buffers)是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。GLslang(GLSL - OpenGL Shading Language)是一个以C语言为基础的高阶着色语言,它是由 OpenGL ARB 所建立,提供开发者对绘图管线更多的直接控制,而无需使用汇编语言或硬件规格语言。Vulkan是一个低开销、跨平台的二维、三维图形与计算的应用程序接口(API)。

    二、编译安装Protobuf

    2.1 下载

    下载Protobuf-3.11.2: https://github.com/google/protobuf/archive/v3.11.2.zip
    下载后解压。

    2.2 编译安装

    我windows安装了Visual Studio 2019,因此直接用其自带的cmake,也可以单独安装cmake,然后利用cmake.gui。

    在开始菜单找到Visual Studio 2019然后找到x64 Native Tools Command Prompt for VS 2019右击,点击更多,以管理员身份运行以下命令,如果是Linux则安装cmake后,先安装

    sudo apt install libprotobuf-dev protobuf-compiler
    

    然后直接打开命令行窗口运行以下命令。以下命令是安装Release版本,如果安装Debug版本需把以下命令中的Release修改为Debug

    cd <protobuf-root-dir>
    mkdir build
    cd build
    cmake -A x64 -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
    cmake --build . --config Release -j 2
    cmake --build . --config Release --target install
    

    三、编译安装vulkan

    3.1 下载

    进入官网:https://vulkan.lunarg.com/sdk/home 下载相应版本

    3.2 编译安装

    windows下载相应的exe文件直接进行安装即可,另外还需安装vulkan_intel驱动和vulkan_NVIDIA驱动。vulkan_intel驱动在 https://downloadcenter.intel.com/zh-cn/product/80939/- 找到与本机相应的驱动。安装vulkan_NVIDIA驱动先在 https://developer.nvidia.com/vulkan-driver 中选择显卡对应的驱动。

    windows下修改CMakeLists.txt,相应的更改为vulkan的安装路径


    Linux下则先安装

    sudo apt install libvulkan-dev vulkan-utils
    

    四、编译安装openCV

    参考 https://www.cnblogs.com/xiaxuexiaoab/p/15894993.html

    五、编译安装ncnn

    前面步骤执行完后,可安装ncnn,执行以下命令进行安装。注意如果编译Release,则对应的依赖如:Protobuf也需要编译成Release版本

    cd <ncnn-root-dir>
    mkdir -p build
    cd build
    cmake -A x64 -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=<protobuf-root-dir>/build/install/include -DProtobuf_LIBRARIES=<protobuf-root-dir>/build/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=<protobuf-root-dir>/build/install/bin/protoc.exe -DNCNN_VULKAN=ON ..
    cmake --build . --config Release -j 2
    cmake --build . --config Release --target install
    
  • 相关阅读:
    职业生涯步步高:一位资深经理人的职业生涯感悟
    HDU2082解题报告
    How the brain recognizes objects
    学习"图"(最短路径)算法
    HDOJ1022解题报告
    【转】受用的十条经验哈
    Archive for the 'TED' Category TED视频:Tan Le 能读懂脑电波的耳机
    WiFi 802.11ac驱动无线家庭高清影院
    asp.net后台编写 loading效果
    c#字符串分割
  • 原文地址:https://www.cnblogs.com/xiaxuexiaoab/p/16416374.html
Copyright © 2020-2023  润新知