当前位置: 首页 > news >正文

网站开发流程原理成都网站建设推广港哥

网站开发流程原理,成都网站建设推广港哥,地推接单正规平台,网上举报平台1. 前置条件 本地电脑系统#xff0c;ubuntu20.04 训练代码#xff1a; 训练代码下载的ultralytics官方代码 SHA#xff1a;6a2fddfb46aea45dd26cb060157d22cf14cd8c64 训练代码仅做数据修改#xff0c;类别修改#xff0c;代码结构未做任何修改 需要准备的代码#…1. 前置条件 本地电脑系统ubuntu20.04 训练代码 训练代码下载的ultralytics官方代码 SHA6a2fddfb46aea45dd26cb060157d22cf14cd8c64 训练代码仅做数据修改类别修改代码结构未做任何修改 需要准备的代码 pt转onnx git clone https://github.com/airockchip/ultralytics_yolov8.git cd ultralytics_yolov8 git checkout 5b7ddd8f821c8f6edb389aa30cfbc88bd903867b onnx转rknn #环境所需要的包 https://github.com/airockchip/rknn-toolkit2/releases/tag/v1.6.0#转换所需要的代码 https://github.com/airockchip/rknn_model_zoo/releases/tag/v2.0.0 rknn仿真和板卡上所需要的代码 #和onnx转rknn是一个代码 https://github.com/airockchip/rknn_model_zoo/releases/tag/v2.0.0 2. pt转onnx 这里参照这位大佬的方案rk3588s yolov8 model conversion from pt to rknn | Memories这里只取他pt转onnx的部分如下图部分 步骤跟他的一模一样使用他制作的镜像环境我本地试过不使用他的环境也行可以使用训练代码的环境进行导出我本地用conda创建的一个python3.9的环境安装的最新的pytorch和ultralytics。 使用他给的链接拉取的转换代码后需要修改的地方只有一处如图所示改成自己模型的名字mode:export 然后将自己的pt模型放到下载的ultralytics_yolov8根目录下如图所示 按照他的教程执行主要这一句export 一定要执行执行完后会在pt文件同级目录下会生成的onnx文件如上图所示我执行完之后生成了drone.onnx 3. onnx转rknn 3.1. rknn环境安装 我的本地电脑系统为ubuntu20.04下载rknn_toolkit2的1.6.0版本这里和板卡上使用的toolkit2-2.0.0 版本不一致但是可以正常推理一致的版本我还没试过下载地址 Release v1.6.0 · airockchip/rknn-toolkit2 · GitHub rknn环境安装 #下载toolkit2代码后解压使用conda创建一个python3.9的环境 conda create -n npu-test python3.9#激活环境安装必要的库 conda activate npu-test#进入到1.6版本的rknn-toolkit2文件夹下 cd rknn-toolkits-1.6.0/rknn-toolkits/packages#依赖库安装 pip install -r requirements_cp39-1.6.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple#这里使用清华源安装会比较快但是一般情况会报一个错误有一个库下载不下来如下图 继续在这里输入以下内容进行安装tf-es那一坨从终端里面进行复制避免敲错了 pip install tf-estimator-nightly2.8.0.dev2021122109 -i https://pypi.org/simple 执行完后如图所示tf-es就安装成功了 紧接着再继续安装requirements中的剩余的依赖库重新执行 pip install -r requirements_cp39-1.6.0.txt -i https://pypi.tuna.tsinghua.edu.cn./simple 所有库都安装好以后开始安装rknn包进入到下载的1.6.0版本的rknn-toolkit2文件夹下 cd rknn-toolkits-1.6.0/rknn-toolkits/packagespip install rknn_(按Tab自动弹出来)-cp39(按Tab补充完整) .whl 安装完成后如下图所示则表示rknn环境已经安装好了 3.2. rknn模型转换 下载rknn_model_zoo我使用的是2.0.0的版本 Release v2.0.0: Support RK3576 and RKNPU1 · airockchip/rknn_model_zoo · GitHub 下载完成后解压进入目录rknn_model_zoo/examples/yolov8/model修改coco_80_labels_list.txt内容修改为自己模型对应的类别 因为我只有2类别人和车所以我把文件修改为以下内容 (一定要和训练的时候训练集名字对应) 开始转换 激活rknn虚拟环境 conda activate npu-test 进入到下载的rknn_model_zoo中yolov8的示例中 cd rknn_model_zoo/examples/yolov8/python 如图所示 此时拷贝第2步中转换的onnx模型路径我是把转换得到的onnx拷贝到该路径下的 rknn_model_zoo/examples/yolov8/model 然后执行以下命令开始转换, python convert.py ../model/drone.onnx rk3588 如下图开始转换 等待片刻导出完成如图所示 转换完成后会在onnx文件同目录下得到一个名为yolov8.rknn模型 4. 板卡环境配置 3.1 rk3588板卡环境 rk3588的系统为Linux系统版本为 ubuntu20.04 3.2 npu2 驱动版本 连接上板卡输入 dmesg | grep -i rknpu如图所示npu驱动版本为 0.8.8 在rknn_toolkit2 doc的官方文档中01_Rockchip_RKNPU_Quick_Start_RKNN_SDK_V2.0.0beta0_CN.pdf 中建议驱动版本大于 0.9.2但是由于没找到对应的驱动版本手里的版本驱动只有 0.7.2和 0.8.8两个版本 都测试过均可完成正常推理。 3.3 npu环境 进入板卡系统输入以下指令 查询 rknn server版本 strings /usr/bin/rknn_server | grep -i rknn_server version 查询 librknnrt.so库版本 string /usr/lib/librknnrt.so | grep -i librknnrt version 注意二者的版本必须一致 若输出不一致需要做以下处理下载rknn_toolkit2我使用的是rknn_toolkit2-v2.0.0版本 Release v2.0.0-beta0: Update RK3562/RK3566/RK3568/RK3576/RK3588/RV1103/RV1106 NPU SDK to V2… · airockchip/rknn-toolkit2 · GitHub 将下载下来的文件拷贝到板卡上将下面对应文件拷贝对板卡的对应位置 sudo cp rknn-toolkit2/rknpu/runtime/Linux/rknn_server/aarch64/usr/bin/* /usr/bin/ sudo cp rknn-toolkit2/rknpu/runtime/Linux/librnkk_api/aarch64//* /usr/lib/ 给rknn_server赋予可执行权限 sudo chmod x /usr/bin/rknn_server sudo chmod x /usr/bin/start_rknn.sh sudo chmod x /usr/bin/restart_rknn.sh 紧接着重启服务 cd /usr/bin ./restart_rknn.sh 如图所示打印出版本后就可以用ctrlc关闭掉 若开始使用strings查询版本不一致或者没有打印或者版本过低此时再查询板卡npu版本二者版本一致才行 5. adb仿真 adb仿真就是使用在电脑上配置上rk环境然后使用typeC连接电脑和板卡使用电脑环境仿真rk板卡的推理目的是验证rknn模型是否正常如果能正常推理说明rknn的整个转换过程是正常的否则就是找rknn转换问题了如果上述步骤都是正常进行的这adb仿真可以略过 心得踩坑半个月一直没找到无法正常推理的原因也不知道是模型转换问题还是c代码问题所以找到rknn_model_zoo说明文档尝试使用adb连接仿真最后发现官方download下来的onnx转换rknn后可以推理但是自己的模型转换rknn就不行才发现是自己转换的onnx模型不对这样才一步一步找原因最后才找到正确的转换方法。 本地电脑安装adb sudo apt install adb 查询板卡device id adb devices 执行完后如果连接正常如下图会打印设备的device id复制该id下面会使用 adb仿真还是使用第3步骤中的rknn_model_zoo进入目录rknn_model_zoo/examples/yolov8/python修改yolov8.py代码CLASSES修改为自己模型的类别 coco_id_list修改为自己模型对应的序号我这里就是二分类我的修改内容如图所示 搜索main函数还需要修改以下内容 --model_path那一行 default修改为 自己导出的rknn模型的绝对路径 --target那一行 default修改为 rk588 --device_id那一行 default修改为上一步中复制下来的device id --img_show那一行 default修改为 True, 仿真时候会显示仿真的推理结果 将待测试的图片放到py文件的上一级的model路径下如图所示 然后在电脑端conda进入第3步创建rknn虚拟环境中执行python yolov8.py如果顺利的话执行完就会在电脑上显示推理结果能正常推理的话表示rknn模型无误可以进行下一步的c板卡部署。 注意如果这里报错了进入板卡终端进入/usr/bin目录下执行./restart_rknn.sh 不关闭然后再在电脑端进入rknn虚拟环境再执行python yolov8.py进行仿真推理 6. 板卡c部署 修改源码 现将第3步中用到的rknn_model_zoo推送到板卡中修改rknn_model_zoo中关于yolov8的代码修改代码的路径为 /rknn_model_zoo/examples/yolov8/cpp/postprocess.h 第12行代码#define OBJ_CLASS_NUM 修改为自己需要检测的目标类别数量 我自己需要检测两类所以这里我修改为 #define OBJ_CLASS_NUM 2如图所示 开始编译 进入rknn_model_zoo根目录下执行以下命令开始编译 先给脚本权限 chmod 777 build-linux.sh 再编译 ./build-linux.sh -t rk3588 -a aarch64 -d yolov8 编译完成后会在跟目录下生成install文件夹 一直按Tab直到进入最里面文件夹我本地的路径为 rknn_model_zoo/install/rk3588_linux_aarch64/rknn_yolov8_demo 该路径下有一个可执行文件rknn_yolov8_demo以及一个model和一个lib文件夹内修改model下的coco文本文件修改为自己需要检测目标类别 开始推理 ./rknn_yolov8_demo [rknn路径] [图片路径] 执行完成后会在rknn_yolov8_demo下生成out.png文件将该图片导出到电脑可以验证推理是否正确
http://www.pierceye.com/news/719662/

相关文章:

  • 旅游网站开发网站设计报告书邢台旅游景点大全排名 免费
  • 如何创建div做网站推荐佛山伦教网站设计
  • 建设电子商务网站前的市场分析网站后台ftp
  • 华丽的网站模板律所网站建设
  • 网站 管理系统搜索关键词的方法
  • 网站桥页也叫设计班级网站建设
  • 安庆网站建设工作室方维网络科技有限公司
  • 手机网站开发利用流程做网盟行业网站的图片广告的销售
  • 厦门建公司网站怎样自做网站
  • 兰州市网站建设公司无锡上海网站建设
  • 轻骑铃木摩托车官网资源专业网站优化排名
  • 做电影网站赚钱吗中企网站建设
  • 罗源网站建设免费建网站 步骤
  • 哪些网站做简历合适wordpress校园
  • 网站子目录怎么做国内做的比较好的二手网站
  • 短链生成网站html模板免费十个网页
  • 图跃企业网站建设seo提供服务
  • 厦门市建设管理协会网站发帖效果好的网站
  • 手机商城网站制作网页设计与制作的岗位职责
  • 教学网站系统流程图wordpress激活主题
  • 北京房地产网站建设做app还是做微网站好
  • 网站建设的整个流程管理咨询公司网站
  • 长沙网站建设有限公司怎么做网站赚大钱
  • 找做网站页的在哪找沭阳建设局网站
  • 私人做网站有什么用不断加强门户网站建设
  • WordPress简单百度站长插件使用cms建设网站安全吗
  • 响水做网站价格余江网站建设
  • 好的免费个人网站网站建设所需要的材料
  • 南宁本地网站有哪些建筑工程网络组网
  • 如何构建一个网站wordpress更换ssl