日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Tengine實(shí)現(xiàn)yolov4的cpu推理講解

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-15 00:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本期講解便是基于 Tengine 實(shí)現(xiàn) yolov4的 cpu推理。

完成動(dòng)機(jī):

主要是為了熟悉tengine的推理部署流程

一、模型轉(zhuǎn)換

采用下面鏈接中yolov4的模型權(quán)重和配置文件

https://github.com/ultralytics/yolov3github.com

源模型使用的是darknet格式,因?yàn)閥olov4新增了mish算子,所以需要增加對(duì)應(yīng)算子的序列化代碼才能正常轉(zhuǎn)換,下面是我的代碼改動(dòng),基本按照tanh算子進(jìn)行相應(yīng)增加。

https://github.com/zjd1988/Tengine-Convert-Toolsgithub.com

convert tools增加算子的詳細(xì)流程,參考官方增加自定義算子步驟:

(1)在operator/include/operator目錄下增加mish.hpp 和mish/_param.hpp/_文件,/_由于mish算子不需要額外的參數(shù)配置,因此mish/_para.hpp并沒(méi)有添加。mish.hpp內(nèi)容可以參考其他類似沒(méi)有參數(shù)配置的算子(比如tanh),在operator/operator 目錄下增加mish.cpp,增加算子實(shí)現(xiàn)代碼;

(2)在operator/operator目錄下增加mish算子內(nèi)存分配的代碼,因?yàn)閙ish算子不涉及這部分修改,并未做任何修改

(3)在operator/operator/plugin/init.cpp文件中的operator/_plugin/_init函數(shù)中增加算子的注冊(cè)函數(shù)調(diào)用

(4)增加mish算子序列化和解析代碼

(4-1)在serializer/include/tengine/v2/tm2/_format.h中增加mish的類型宏定義和字符串宏定義 ;
(4-2)在serializer/tengine/v2/tm2/_op/_load.cpp文件中增加LoadTmMishOp函數(shù)實(shí)現(xiàn),同時(shí)在LoadTmOpFunc函數(shù)中增加調(diào)用LoadTmMishOp的邏輯代碼;
(4-3)在serializer/tengine/v2/tm2/_op/_save.cpp文件中增加SaveTmMishOp函數(shù)實(shí)現(xiàn),同時(shí)在SaveTmReorgOp函數(shù)中增加調(diào)用SaveTmMishOp的邏輯代碼;
(4-4)在serializer/tengine/v2/tm2/_op/_serializer.hpp,增加LoadTmMishOp和 SaveTmMishOp的函數(shù)聲明

(4-5)本次轉(zhuǎn)換模型針對(duì)darknet,所以需要對(duì)tools/darknet/darknet/_serializer.cpp文件中增加mish算子解析的相應(yīng)邏輯。 因?yàn)閙ish沒(méi)有單獨(dú)使用,而是作為conv的激活函數(shù)調(diào)用,所以是在LoadConv2D函數(shù)參照l(shuí)eaky增加相應(yīng)的代碼。其他單獨(dú)算子的實(shí)現(xiàn)也可以參考其他類似算子的實(shí)現(xiàn)方式

完成代碼改動(dòng)后,按照如下操作進(jìn)行編譯,即可生成轉(zhuǎn)換工具

mkdir build && cd build
cmake ..
make -j4 && make install

最后執(zhí)行轉(zhuǎn)換動(dòng)作(提前準(zhǔn)備好模型文件)

./install/bin/tm_convert_tool -f darknet -p yolov4.cfg -m yolov4.weights -o yolov4.tmfile

二、推理

官方代碼鏈接下的readme并沒(méi)有找到介紹如何新增算子,但是可以參考類似算子進(jìn)行修改添加,下面是我參考tanh算子的實(shí)現(xiàn),進(jìn)行的修改

(1-1)在inlcude/tengine/_op.h中增加mish的枚舉定義,include/tengine/_op/_name.h中增加mish的字符串宏定義
(1-2)在src/op/mish.c中增加mish算子的注冊(cè)函數(shù)
(1-3)在src/serializer/tm/tm2/_format.h 和src/serializer/tm/op/tm2/_mish.c 中增加序列化相關(guān)代碼,

note:src/serializer/tm/tm2/_format.h中定義算子的類型數(shù)值需要跟convert/_tools下的serializer/include/tengine/v2/tm2/_format.h代碼保持一致

(1-4)在src/dev/cpu/op/目錄下增加mish算子實(shí)現(xiàn)代碼目錄,包括mish/_ref.c(x86)、mish/_hcl/_arm.c(arm),其中contex-a目錄下的文件為具體的kernel實(shí)現(xiàn)代碼

也可以參考下面的鏈接,查看有哪些代碼改動(dòng)和文件增加:

https://github.com/zjd1988/Tenginegithub.com

測(cè)試

測(cè)試圖片使用的是標(biāo)題中的圖片(512x384)test.jpg
測(cè)試代碼使用的官方代碼

examples/tm_yolov3_tiny.cpp

做了簡(jiǎn)單修改。

三、后續(xù)

(1)合并conv和mish算子
(2)后續(xù)抽空新增一個(gè)需要配置參數(shù)的算子

四、使用感受

(1)模型轉(zhuǎn)換和推理分離,新增算子需要增加兩次,官方回復(fù)會(huì)后續(xù)考慮合并,希望會(huì)越來(lái)越方便
(2)推理引擎編譯速度快(本文目的不在于測(cè)試性能,只是驗(yàn)證tengine在推理yolov4的正確性)
(3)代碼結(jié)構(gòu)清晰,便于閱讀和調(diào)試

以上便是解答過(guò)程以及使用感受。

更多Tengine相關(guān)內(nèi)容請(qǐng)關(guān)注Tengine-邊緣AI推理框架專欄。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11332

    瀏覽量

    225991
  • Tengine
    +關(guān)注

    關(guān)注

    1

    文章

    47

    瀏覽量

    3276
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    米爾RK3576+Hailo-8突破6 TOPS極限,讓高幀率攝像頭真正“實(shí)時(shí)”

    測(cè)試發(fā)現(xiàn),當(dāng)****4YOLOv5模型同時(shí)推理時(shí),NPU負(fù)載率已超過(guò)75%。一旦增加到第5路, 整體延遲急劇飆升 ,系統(tǒng)響應(yīng)明顯劣化。 在單路推理場(chǎng)景下,
    發(fā)表于 04-02 18:03

    LLM推理模型是如何推理的?

    這篇文章《(How)DoReasoningModelsReason?》對(duì)當(dāng)前大型推理模型(LRM)進(jìn)行了深刻的剖析,超越了表面的性能宣傳,直指其技術(shù)本質(zhì)和核心局限。以下是基于原文的詳細(xì)技術(shù)原理、關(guān)鍵
    的頭像 發(fā)表于 01-19 15:33 ?731次閱讀
    LLM<b class='flag-5'>推理</b>模型是如何<b class='flag-5'>推理</b>的?

    基于米爾MYC-LR3576開發(fā)板的實(shí)時(shí)視頻識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    實(shí)時(shí)性視頻識(shí)別系統(tǒng)。重點(diǎn)解決了多路視頻流處理、NPU加速模型部署、低延遲推理等關(guān)鍵問(wèn)題,在工業(yè)安防、智能零售等場(chǎng)景中實(shí)現(xiàn)精準(zhǔn)目標(biāo)檢測(cè)。 一、硬件平臺(tái)與系統(tǒng)環(huán)境 1. 硬件架構(gòu)處理器:RK3576
    發(fā)表于 12-01 21:23

    【CIE全國(guó)RISC-V創(chuàng)新應(yīng)用大賽】MUSE PI PRO 測(cè)評(píng)

    for i in range(10**6)]; input(\'按回車釋放...\')\"(占用約800MB,無(wú)溢出) 4. 實(shí)戰(zhàn):YOLOv8n圖片推理(8分鐘) 裝依賴:pip3
    發(fā)表于 11-28 19:00

    基于迅為RK3588開發(fā)板實(shí)現(xiàn)高性能機(jī)器狗主控解決方案-?AI能力實(shí)戰(zhàn):YOLOv5目標(biāo)檢測(cè)例程

    基于迅為RK3588開發(fā)板實(shí)現(xiàn)高性能機(jī)器狗主控解決方案-?AI能力實(shí)戰(zhàn):YOLOv5目標(biāo)檢測(cè)例程
    的頭像 發(fā)表于 11-28 11:32 ?1737次閱讀
    基于迅為RK3588開發(fā)板<b class='flag-5'>實(shí)現(xiàn)</b>高性能機(jī)器狗主控解決方案-?AI能力實(shí)戰(zhàn):<b class='flag-5'>YOLOv</b>5目標(biāo)檢測(cè)例程

    使用ROCm?優(yōu)化并部署YOLOv8模型

    作者:AVNET 李鑫杰 一,YOLOv8介紹? YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日發(fā)布,在準(zhǔn)確性和速度方面提供了前沿的性能。YOLOv8 在之前 YOLO
    的頭像 發(fā)表于 09-24 18:32 ?1026次閱讀
    使用ROCm?優(yōu)化并部署<b class='flag-5'>YOLOv</b>8模型

    單板挑戰(zhàn)4YOLOv8!米爾瑞芯微RK3576開發(fā)板性能實(shí)測(cè)

    4.YOLOv8s-obb.float 旋轉(zhuǎn)目標(biāo)檢測(cè)模型 上面已經(jīng)看到了單獨(dú)解析視頻時(shí),每一種模型效果,接下來(lái)演示MYD-LR3576通過(guò)4路攝像頭同時(shí)推導(dǎo)效果。 實(shí)現(xiàn)方式如下:MYD-LR3576
    發(fā)表于 09-12 17:52

    基于瑞芯微RK3576的 yolov5訓(xùn)練部署教程

    5s、YOLOv5m、YOLOv5l、YOLOv5x 四個(gè)模型。YOLOv5 相比YOLOv4 而言,在檢測(cè)平均精度降低不多的基礎(chǔ)上,具有均
    的頭像 發(fā)表于 09-11 16:43 ?3247次閱讀
    基于瑞芯微RK3576的 <b class='flag-5'>yolov</b>5訓(xùn)練部署教程

    yolov5訓(xùn)練部署全鏈路教程

    5m、YOLOv5l、YOLOv5x四個(gè)模型。YOLOv5相比YOLOv4而言,在檢測(cè)平均精度降低不多的基礎(chǔ)上,具有均值權(quán)重文件更小,訓(xùn)練時(shí)間和推理
    的頭像 發(fā)表于 07-25 15:22 ?2069次閱讀
    <b class='flag-5'>yolov</b>5訓(xùn)練部署全鏈路教程

    RK3576 yolo11-seg訓(xùn)練部署教程

    1.yolov11-seg簡(jiǎn)介yolov11-seg是YOLO(YouOnlyLookOnce)系列的最新成員,專為實(shí)時(shí)實(shí)例分割任務(wù)設(shè)計(jì)。它在保持YOLO家族高效推理速度的同時(shí),通過(guò)創(chuàng)新的網(wǎng)絡(luò)結(jié)構(gòu)
    的頭像 發(fā)表于 07-25 15:21 ?2099次閱讀
    RK3576 yolo11-seg訓(xùn)練部署教程

    yolov8怎么在wsl中搭建呢?

    純小白,yolov8怎么在wsl中搭建呢?一直報(bào)錯(cuò)且無(wú)法安裝pip包
    發(fā)表于 07-11 07:37

    如何提高yolov8模型在k230上運(yùn)行的幀率?

    我rgb888p_size參數(shù)在[1280,720]時(shí)只有4~6 FPS,調(diào)成[640,640]大概也只有10FPS左右,我是用官方y(tǒng)oolo大作戰(zhàn)上的示例代碼看的,用的是yolov8s.pt訓(xùn)
    發(fā)表于 06-20 06:25

    YOLOv8水果檢測(cè)示例代碼換成640輸入圖像出現(xiàn)目標(biāo)框繪制錯(cuò)誤的原因 ?

    官網(wǎng)中的YOLOv8 水果檢測(cè)關(guān)于圖片推理的示例源代碼: from libs.YOLO import YOLOv8 import os,sys,gc import ulab.numpy as np
    發(fā)表于 06-18 06:37

    在K230上部署yolov5時(shí) 出現(xiàn)the array is too big的原因?

    重現(xiàn)步驟 1將yolov5的kmodel放入k230的data數(shù)據(jù) 2使用yolo大作戰(zhàn)里的視頻流推理代碼 3運(yùn)行 期待結(jié)果和實(shí)際結(jié)果 期待的結(jié)果 將目標(biāo)檢測(cè)的框圈起來(lái) 實(shí)際看到的結(jié)果
    發(fā)表于 05-28 07:47

    【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】幸狐Omni3576開發(fā)板移植YOLOV10和推理測(cè)試

    功能。 一、RKNN簡(jiǎn)介 RKNN-Toolkit2工具在 PC 平臺(tái)上提供 C 或 Python 接口,簡(jiǎn)化模型的部署和運(yùn)行。用戶可以通過(guò)該工具輕松完成以下功能:模型轉(zhuǎn)換、量化、推理、性能和內(nèi)存評(píng)估
    發(fā)表于 05-24 12:27
    鹤壁市| 牙克石市| 中超| 综艺| 图们市| 卢湾区| 郸城县| 汉阴县| 柏乡县| 东台市| 镇沅| 罗平县| 牙克石市| 驻马店市| 平塘县| 贞丰县| 云龙县| 辽中县| 班玛县| 石柱| 通榆县| 茂名市| 瓦房店市| 江陵县| 津市市| 独山县| 马公市| 贵阳市| 肇州县| 安泽县| 互助| 阳信县| 玉树县| 蛟河市| 孝昌县| 英山县| 常宁市| 霞浦县| 吴忠市| 江源县| 冀州市|