关于 ubuntu ncnn 环境的安装, protobuf、pnnx

这篇具有很好参考价值的文章主要介绍了关于 ubuntu ncnn 环境的安装, protobuf、pnnx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装protobuf

  • 下个安装包:有坑,记得下all的
    protobuf v3.19.4地址:github 下载地址

ncnn环境安装

sudo apt-get install build-essential
sudo apt-get install cmake 
sudo apt-get install autoconf automake libtool curl make g++ unzip

编译

./autogen.sh
sudo ./configure --prefix=$INSTALL_DIR  #--prefix指定安装目录
sudo make
sudo make check
sudo make install

将模型转成ncnn 的格式

方式1:直接用ncnn 自带的工具转

  • 在编译后的build tools有个onnx文件可以把模型转成ncnn格式
./onnx2ncnn lw50.onnx lw50.param lw50.bin

关于 ubuntu ncnn 环境的安装, protobuf、pnnx
不过基本都会报错

Unsupported slice axes !
Unsupported slice axes !
Unsupported slice axes !
Unsupported slice axes !
Unsupported slice axes !
Unsupported slice axes !

或者
关于 ubuntu ncnn 环境的安装, protobuf、pnnx
如果成功会生成两个文件

yolov5s.param
yolov5s.bin

这个可以参考修改,原因是有的层实现不兼容https://zhuanlan.zhihu.com/p/275989233

方式二

用pnnx 进行转换
这个有编译好的版本
https://github.com/pnnx/pnnx/releases

直接下载运行就可以了

pnnx resnet18.pt inputshape=[1,3,224,224]

如果不支持的话, 只能自己编译

pnnx 源码:
https://github.com/pnnx/pnnx

直接去pytorch 下c++ 源码
https://pytorch.org/

旧版本参考
https://blog.csdn.net/qq_41375318/article/details/126800667

关于 ubuntu ncnn 环境的安装, protobuf、pnnx

这里需要修改 编译路径,找到LibTorch 的make路径,相当于是软链接路径文件
关于 ubuntu ncnn 环境的安装, protobuf、pnnx
同时需要一个python 的软链接路径

找个地方新建python3 文件夹

  • 新建一个CMakeLists.txt,
cmake_minimum_required(VERSION 3.5)
project(Python3Config)

message(STATUS "Python3_EXECUTABLE: ${Python3_EXECUTABLE}")
message(STATUS "Python3_INCLUDE_DIRS: ${Python3_INCLUDE_DIRS}")
message(STATUS "Python3_LIBRARIES: ${Python3_LIBRARIES}")
message(STATUS "Python3_VERSION: ${Python3_VERSION}")
message(STATUS "NumPy_INCLUDE_DIRS: ${NumPy_INCLUDE_DIRS}")

configure_file(Python3Config.cmake.in Python3Config.cmake @ONLY)

另外新建一个变量文件Python3Config.cmake.in

set(Python3_EXECUTABLE "/home/cdm/anaconda3/bin/python")
set(Python3_INCLUDE_DIRS "/home/cdm/anaconda3/lib/python3.9/Python3_INCLUDE_DIRS")
set(Python3_LIBRARIES "/home/cdm/anaconda3/lib/python3.9/Python3_LIBRARIES")
set(Python3_VERSION "3.9.13")
set(NumPy_INCLUDE_DIRS "/home/cdm/anaconda3/lib/python3.9/site-packages/numpy")

查看命令

import os
import numpy

numpy_path = os.path.dirname(numpy.__file__)
print(numpy_path)
print(os.path.join(os.path.dirname(os.__file__), "Python3_LIBRARIES"))
print(os.environ.get('Python3_INCLUDE_DIRS'))
dir_path = os.environ.get('Python3_INCLUDE_DIRS')
if dir_path:
    for file_name in os.listdir(dir_path):
        print(file_name)
else:
    print('Python3_INCLUDE_DIRS环境变量未设置')
python_executable = os.popen('which python3').read().strip()
print(python_executable)

然后执行 cmake .

编译生成
Python3Config.cmake

set(Python3_EXECUTABLE "/home/cdm/anaconda3/bin/python")
set(Python3_INCLUDE_DIRS "/home/cdm/anaconda3/lib/python3.9/Python3_INCLUDE_DIRS")
set(Python3_LIBRARIES "/home/cdm/anaconda3/lib/python3.9/Python3_LIBRARIES")
set(Python3_VERSION "3.9.13")
set(NumPy_INCLUDE_DIRS "/home/cdm/anaconda3/lib/python3.9/site-packages/numpy")

其实直接输入也行

然后修改pnnx 的CMakeLists.txt

find_package(Python3 COMPONENTS Interpreter Development)
find_package(Torch REQUIRED)

加上路径
就是修改查找编译的路径地址

set(Python3_DIR "/home/cdm/env/ncnn/tools/pnnx")
set(Torch_DIR "/home/cdm/env/libtorch/share/cmake/Torch")

接下来根据这个官方来就行文章来源地址https://www.toymoban.com/news/detail-401213.html

mkdir ncnn/tools/pnnx/build
cd ncnn/tools/pnnx/build
cmake -DCMAKE_INSTALL_PREFIX=install -DTorch_INSTALL_DIR=<your libtorch dir> ..
cmake --build . --config Release -j 2
cmake --build . --config Release --target install

到了这里,关于关于 ubuntu ncnn 环境的安装, protobuf、pnnx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu卸载protobuf

    1、先查看protobuf的版本:protoc --version 2、查找protobuf的位置:which protoc,我的电脑上是/usr/local/bin/protoc 3、执行sudo rm /usr/local/bin/protoc //可执行文件 4、sudo rm -rf /usr/local/include/google //头文件 5、sudo rm -rf /usr/local/lib/libproto* //库文件

    2024年02月05日
    浏览(30)
  • 关于Ubuntu 18.04 LTS环境下运行程序出现的问题

    1.运行程序时出现以下情况 2.检查版本 ​ 发现Ubuntu18.04下的glibc版本最高为2.27,而现程序所使用的是glibc2.34,所以没办法运行, 3.解决办法 安装glibc2.34库, ①下载 因为下载太慢了,可以从这下载好,拷贝到设备 ​②选择解压路径,解压源码包:使用tar命令解压下载的glibc源

    2024年02月15日
    浏览(31)
  • Mac上protobuf环境构建-java

    参考文献 getting-started 官网pb java介绍 maven protobuf插件 简单入门1 简单入门2 https://github.com/protocolbuffers/protobuf/releases?page=10 放入 .zshrc 中配置环境变量 安装好上面的编译器就可以手动编译proto文件了,但是java程序员肯定是用maven项目的方式使用了,如何操作呢?下面介绍 2.1 po

    2024年02月07日
    浏览(30)
  • 2023-简单点-树莓派安装ncnn框架

    按照下面的步骤进行就可以了: 参考 tips: 其中有一步要用下面方法: 如果你的git clone不得行,可以按照以下操作方法: git clone --depth=1 ==https://ghproxy.com/== https://github.com/Tencent/ncnn.git 直接 pip install onnx pip install onnx-simplifier

    2024年02月07日
    浏览(25)
  • 关于Ubuntu22.04,ros2-humble环境下,使用gazebo遇到的问题。

    遇到的问题: 打开gazebo时出现error:process has died的报错,虽然仍然可以打开gazebo,但是gazebo显示的并不是launch文件调用的world文件与urdf文件内容,可能显示前次使用gazebo时的内容,或者出现机器人模型乱转的情况。 问题原因: 前次使用gazebo后,没有完全关闭gazebo,尤其是

    2024年02月15日
    浏览(35)
  • 关于ubuntu下面安装cuda不对应版本的pyTorch

    最近换了台新的linux的ubuntu的服务器,发现其实际安装的cuda版本为11.4,但是pytorch官方给出的针对cuda 11.4并没有具体的pytorch的安装指令,于是采用不指定pytorch版本直接安装让其自动搜索得到即可  直接通过:

    2024年02月11日
    浏览(40)
  • 在 Jetson Nano 上安装 ncnn 深度学习框架。

    本页面将指导您在 Jetson Nano 上安装腾讯的 ncnn 框架。由于 ncnn 框架面向移动设备(例如 Android 手机),因此它不支持 CUDA。然而,大多数 Android 手机使用 Vulkan API 对其 GPU 进行低级访问。 ncnn 框架可以使用 Vulkan 例程来加速深度学习模型的卷积。 Jetson Nano 具有 ncnn 将使用的

    2024年02月11日
    浏览(28)
  • ubuntu20.04下安装,运行关于opencv的Python程序相关库

    最初对ubuntu20.04以及opencv和python运行环境一窍不通,折磨了好几天,虚拟机重建了好几次,各个帖子的方法都跑遍了。最后终于装上,记录一下,免得搞忘。 先总结下之前的问题:推测之前的问题都在于我先入为主安装了vscode上的Python,但其实ubuntu20.04他是自带了Python3.8.10的

    2024年02月13日
    浏览(25)
  • Ubuntu安装Java环境并配置环境变量

    小记 -方便以后查看(这里以jdk1.8为例) 1.去官网下载jdk(注意自己乌班图版本 不清楚的可以在虚拟机或服务器中使用uname -a 查看 我这里是arrach) 2.下载之后 压缩文件就在当前用户下的/Download 目录下  解压 3.在 /usr/lib 下新建存放jdk文件的地方 4.将/Download 目录下 已解压的

    2024年02月09日
    浏览(34)
  • Ubuntu安装部署docker环境+安装部署vulhub靶场环境+漏洞复现

    目录 安装docker环境 安装部署vulhub靶场     指令:docker -v   下载安装pip,等待即可   pip安装成功   安装docker-compose 指令:docker-compose -v   可将老版本的urllib3进行删除 指令: pip uninstall urllib3     安装前直接切换到桌面,默认下载到桌面,这里没有切换,默认下载到了root目

    2024年02月03日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包