近年來,國產化替代的進程正在加快。在眾多國產平臺中,昇騰平臺具有高性能、低功耗、易擴展、軟件棧全面成熟等優(yōu)勢,其產品和技術在國內眾多領域實現(xiàn)了廣泛應用;作為昇騰的APN伙伴和IHV合作伙伴,英碼科技攜手昇騰推出了一系列邊緣計算產品,具備性能強勁、更寬工溫、外設接口豐富、利舊性強等特點,同時,得益于昇騰AI軟件棧的全面支持,這些產品為各行業(yè)AI應用高效、低成本落地提供了強有力的支撐。
YOLOv7是目前YOLO系列目標檢測算法的最新版本,能夠快速檢測多種尺度和多標簽的對象,同時具有高精度、低時延等特點,是目標較為主流的目標檢測算法,在安防監(jiān)控、自動駕駛、醫(yī)療影像分析等領域發(fā)揮著重要的作用。
今天來介紹【基于昇騰AI】技術干貨系列的另一個主題:如何將Yolov7模型遷移到昇騰平臺?
下面以英碼科技基于昇騰平臺開發(fā)的EA500I邊緣計算盒子為硬件載體,詳細講解Yolov7模型遷移的流程,以及實際應用的演示。
Yolov7模型遷移到昇騰平臺&案例演示
前置條件

開發(fā)環(huán)境部署說明
基于昇騰平臺的全系邊緣計算盒子已完成環(huán)境部署工作,客戶無需重新部署。
Yolov7源碼下載
git clone https://github.com/WongKinYiu/yolov7.git
預訓練模型的下載
cd yolov7 wget --no-check-certificate https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7.pt
*溫馨提示:如果下載速度慢可到官網(wǎng)下載

驗證模型是否可以正常識別圖片
python3 detect.py --weight yolov7.pt
訓練模型轉ONNX模型
由于 Ascend 推理工具還未支持Pytorch的pt,pth模型,需要轉換成ONNX才能使用yolov7有兩種訓練配置文件分別為deploy和traing,Detect層不一樣導致轉onnx上有略微區(qū)別,本次測試的為deploy
python3 export.py --weights yolov7.pt --grid --simplify --img-size 640 640
--weights:指定預訓練模型yolov7.pt
--grid: 保留 Detect層
--simplify :簡化onnx模型結構
Yolov7模型推理(EA500I)
1、環(huán)境聲明
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest
創(chuàng)建THIRDPART_PATH路徑
mkdir -p ${THIRDPART_PATH}
acllite注:源碼安裝
ffmpeg
主要是為了acllite庫的安裝 執(zhí)行以下命令安裝x264
# 下載x264
cd ${HOME}
git clone https://code.videolan.org/videolan/x264.git
cd x264
# 安裝x264
./configure --enable-shared --disable-asm
make
sudo make install
sudo cp /usr/local/lib/libx264.so.164 /lib
執(zhí)行以下命令安裝ffmpeg
# 下載ffmpeg
cd ${HOME}
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3
# 安裝ffmpeg
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH}
make -j8
make install
執(zhí)行以下命令安裝acllite
cd ${HOME}/samples/inference/acllite/cplusplus
make
make install
opencv執(zhí)行以下命令安裝opencv(注:確保是3.x版本)
sudo apt-get install libopencv-dev
2、樣例運行
①數(shù)據(jù)準備請從以下鏈接獲取該樣例的輸入圖片,放在data目錄下。
cd $HOME/samples/inference/modelInference/sampleYOLOV7/data wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg
②ATC模型轉換將
前面(5)的yolov7.onnx
模型轉換為適配昇騰310處理器的離線模型(*.om文件),放在model路徑下。
# 為了方便下載,在這里直接給出原始模型下載及模型轉換命令,可以直接拷貝執(zhí)行。
cd $HOME/samples/inference/modelInference/sampleYOLOV7/model wget --no-check-certificate https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov7/yolov7x.onnx wget --no-check-certificate https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov7/aipp.cfg atc --model=yolov7x.onnx --framework=5 --output=yolov7x --input_shape="images:1,3,640,640" --soc_version=Ascend310B1 --insert_op_conf=aipp.cfg
③樣例編譯執(zhí)行以下命令,執(zhí)行編譯腳本,開始樣例編譯。
cd $HOME/samples/inference/modelInference/sampleYOLOV7/scripts bash sample_build.sh
④樣例運行執(zhí)行運行腳本,開始樣例運行。
bash sample_run.sh
⑤樣例結果展示運行完成后,會在樣例工程的out目錄下生成推理后的圖片,顯示對比結果如下所示
結語
以上詳細介紹了如何將Yolov7模型遷移到昇騰平臺EA500I邊緣計算盒子,希望能夠幫助提升研發(fā)效率、縮短項目落地時間,如需更多技術和產品支持,歡迎留言!
審核編輯 黃宇
-
模型
+關注
關注
1文章
3752瀏覽量
52111 -
邊緣計算
+關注
關注
22文章
3527瀏覽量
53453 -
昇騰AI
+關注
關注
0文章
87瀏覽量
930
發(fā)布評論請先 登錄
(原創(chuàng))昇騰310B(8T/20T)算力主板定制方案
國產AI芯片真能扛住“算力內卷”?海思昇騰的這波操作藏了多少細節(jié)?
香橙派昇騰系列開發(fā)板如何部署OpenClaw
OpenHarmony集成昇騰 AI
華為發(fā)布昇騰AI全棧軟件平臺,讓AI計算觸手可及
昇騰計算產業(yè)發(fā)展白皮書發(fā)布 全棧全場景AI共促昇騰計算產業(yè)發(fā)展
華為發(fā)布昇騰計算智能邊緣解決方案:智能制造使能平臺
基于昇騰CANN的AI應用開發(fā)
WAIC2022 | 研揚科技與華為簽署合作協(xié)議并舉行昇騰萬里授牌儀式,共同推進昇騰AI產業(yè)持續(xù)發(fā)展
【昇騰系列產品應用】英碼科技EA500I邊緣計算盒子接口使用示例和目標檢測算法演示(附視頻)
基于昇騰AI | 英碼科技EA500I使用AscendCL實現(xiàn)垃圾分類和視頻物體分類應用
基于昇騰AI | 英碼科技EA500I使用AscendCL實現(xiàn)垃圾分類和視頻物體分類應用
研華發(fā)布高性能工業(yè)邊緣 AI 算力方案 攜手昇騰引領邊緣 AI 革新
基于昇騰AI Yolov7模型遷移到昇騰平臺EA500I邊緣計算盒子的實操指南
評論