中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

嘉興推廣公司seo百度快速排名

嘉興推廣公司,seo百度快速排名,股票網(wǎng)站怎么做動態(tài)表格,模板做的網(wǎng)站不好優(yōu)化介紹 我們屬于SoC模式,即我們在x86主機上基于tpu-nntc和libsophon完成模型的編譯量化與程序的交叉編譯,部署時將編譯好的程序拷貝至SoC平臺(1684開發(fā)板/SE微服務(wù)器/SM模組)中執(zhí)行。 注:以下都是在Ubuntu20.04系統(tǒng)上操…

介紹

我們屬于SoC模式,即我們在x86主機上基于tpu-nntc和libsophon完成模型的編譯量化與程序的交叉編譯,部署時將編譯好的程序拷貝至SoC平臺(1684開發(fā)板/SE微服務(wù)器/SM模組)中執(zhí)行。

注:以下都是在Ubuntu20.04系統(tǒng)上操作的,當然Ubuntu18和22也是可以的,因為我們主要是用的官方 docker 環(huán)境進行配置。

準備工作

安裝docker

首先安裝docker

# 更新一下庫 
sudo apt-get update
sudo apt-gefat upgrade
# 安裝 docker 
sudo apt-get install docker.io
# docker命令免root權(quán)限執(zhí)行 
# 創(chuàng)建docker用戶組,若已有docker組會報錯,沒關(guān)系可忽略
sudo groupadd docker  
# 將當前用戶加入docker組
sudo gpasswd -a ${USER} docker 
# 重啟docker服務(wù) 
sudo service docker restart  
# 切換當前會話到新group或重新登錄重啟X會話 
newgrp docker  

我已經(jīng)裝docker了,這一步?jīng)]有測試,若有問題請問百度。

下載SDK

在算能官網(wǎng)上,資料下載里下載相關(guān)sdk:https://developer.sophgo.com/site/index/material/all/all.html

基礎(chǔ)工具包包括:

  • tpu-nntc 負責對第三方深度學(xué)習框架下訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型進行離線編譯和優(yōu)化,生成最終運行時需要的BModel。目前支持Caffe、Darknet、MXNet、ONNX、PyTorch、PaddlePaddle、TensorFlow等。
  • libsophon 提供BMCV、BMRuntime、BMLib等庫,用來驅(qū)動VPP、TPU等硬件,完成圖像處理、張量運算、模型推理等操作,供用戶進行深度學(xué)習應(yīng)用開發(fā)。
  • sophon-mw 封裝了BM-OpenCV、BM-FFmpeg等庫,用來驅(qū)動VPU、JPU等硬件,支持RTSP流、GB28181流的解析,視頻圖像編解碼加速等,供用戶進行深度學(xué)習應(yīng)用開發(fā)。
  • sophon-sail 提供了支持Python/C++的高級接口,是對BMRuntime、BMCV、BMDecoder、BMLib等底層庫接口的封裝,供用戶進行深度學(xué)習應(yīng)用開發(fā)。

可以下載這個SDK

image-20230419114430498

這里面包含了models里的所有代碼,當然里面很多包是用不到的。

image-20230419114506989

也可以只下載我們需要的sdk

主要是這幾個:

tpu-nntc

libsophon

sophon-mw

sophon-demo

sophon-img

sophon-sail

sophon-demo

分別wget 到本地就行,

# 先建個存放的路徑
mkdir fugui
# 分別wget 到本地就行
wget https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/11/28/10/libsophon_20221027_214818.zip   https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/11/28/11/sophon-mw_20221027_183429.zip https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/11/28/15/sophon-demo_20221027_181652.zip https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/11/28/15/sophon-img_20221027_215835.zip https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/11/28/15/sophon-sail_20221026_200216.zip https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/11/28/15/sophon-demo_20221027_181652.zip

配置環(huán)境

裝上解壓縮工具

sudo apt-get install unzip

先把這幾個壓縮文件解壓了

unzip \*.zip

創(chuàng)建docker容器:

#如果當前系統(tǒng)沒有對應(yīng)的鏡像,會自動從docker hub上下載;此處將tpu-nntc的上一級目錄映射到docker內(nèi)的/workspace目錄;這里用了8001到8001端口的映射(使用ufw可視化工具會用到端口號)。如果端口已被占用,請根據(jù)實際情況更換為其他未占用的端口。
:~/fugui# docker run -v $PWD/:/workspace  -it sophgo/tpuc_dev:latest

進入 tpu-nntc,解壓縮包

root@39d67fa4c7bb:/workspace/fugui/tpu-nntc_20221028_200521# tar -zxvf  tpu-nntc_v3.1.3-242ef2f9-221028.tar.gz

進入tpu-nntc_v3.1.3-242ef2f9-221028 運行一下命令初始化軟件環(huán)境

source scripts/envsetup.sh

image-20230419153738140

在下載tensorflow時比較慢,我們都是用pytorch,直接ctrl c跳過,不裝他了。

yolov5

這里就不演示官方模型了,直接用我們自己訓(xùn)練的模型進行量化推理。

注意:這里必須用yolov5 v6.1版本

如何訓(xùn)練就不說了,參考:這篇文章

最好使用yolov5s訓(xùn)練,然后對訓(xùn)練后的模型進行轉(zhuǎn)換。比如我訓(xùn)練的是安全帽檢測,現(xiàn)在生成了best.pt這個權(quán)重文件,為了好區(qū)分我改名為anquanmao.pt

將他放在了yolov5的根目錄下,然后修改了models文件下的yolo.py中的forward函數(shù)。將return x if self.training else (torch.cat(z, 1), x) 修改為:

return x if self.training else x

image-20230419155833459

然后運行

 python export.py --weight anquanmao.pt --include torchscript

這樣生成了 anquanmao.torchscript 文件

image-20230419160201616

image-20230419160211412

打開這個權(quán)重文件看看是不是和我的一樣,只要是yolov5 6.1就肯定一樣。

修改 anquanmao.torchscriptanquanmao.torchscript.pt (就是在最后加個.pt)

然后將這個文件拷貝到你的x86服務(wù)器里,路徑為:

/root/fugui/sophon-demo_20221027_181652/sophon-demo_v0.1.0_b909566_20221027/sample/YOLOv5/data

然后找些你訓(xùn)練的圖片,也就是安全帽,200張左右就行

同樣上傳到那個文件夾里

image-20230419161259835

然后就可以進行模型轉(zhuǎn)換了

# 先備份一下
root@39d67fa4c7bb:/workspace/fugui/sophon-demo_20221027_181652/sophon-demo_v0.1.0_b909566_20221027/sample/YOLOv5/scripts# cp 2_2_gen_int8bmodel.sh 3_2_gen_int8bmodel.sh 
vi cp 2_2_gen_int8bmodel.sh

然后修改里面內(nèi)容,200太多了,轉(zhuǎn)換起來太慢了,50就夠了

image-20230419161524150

修改model_info.sh

root@39d67fa4c7bb:/workspace/fugui/sophon-demo_20221027_181652/sophon-demo_v0.1.0_b909566_20221027/sample/YOLOv5/scripts# vi model_info.sh 
echo "start fp32bmodel transform, platform: ${platform} ......"root_dir=$(cd `dirname $BASH_SOURCE[0]`/../ && pwd)
build_dir=$root_dir/build
# 將這里修改為我們剛才存放的.torchscript.pt文件地址
src_model_file=${root_dir}/data/anquanmao.1_3output.torchscript.pt
src_model_name=`basename ${src_model_file}`
# 這里也修改下吧 yolov5s ——> anquanmao
dst_model_prefix="anquanmao"
dst_model_postfix="coco_v6.1_3output"
fp32model_dir="${root_dir}/data/models/${platform}/fp32model"
int8model_dir="${root_dir}/data/models/${platform}/int8model"
lmdb_src_dir="${root_dir}/data/images"
# 這里修改為我們上傳的圖片地址
image_src_dir="${root_dir}/data/anquanmao"
# lmdb_src_dir="${build_dir}/coco2017val/coco/images/"
#lmdb_dst_dir="${build_dir}/lmdb/"
img_size=${2:-640}
batch_size=${3:-1}
iteration=${4:-2}
img_width=640
img_height=640

運行轉(zhuǎn)換命令前需要加上權(quán)限,否則不能執(zhí)行

root@39d67fa4c7bb:/workspace/fugui/sophon-demo_20221027_181652/sophon-demo_v0.1.0_b909566_20221027/sample/YOLOv5/scripts# sudo chmod 777 *

然后執(zhí)行轉(zhuǎn)int8bmodel模型,轉(zhuǎn)FP32也一樣

root@39d67fa4c7bb:/workspace/fugui/sophon-demo_20221027_181652/sophon-demo_v0.1.0_b909566_20221027/sample/YOLOv5/scripts# ./ 2_2_gen_int8bmodel.sh

性能不好的機器會非常慢,等待完成即可

編譯yolov5 c++程序

/workspace/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv/build# 
cd cpp/deepsort_bmcv 
mkdir build && cd build	
# 請根據(jù)實際情況修改-DSDK的路徑,需使用絕對路徑 
cmake -DTARGET_ARCH=soc -DSDK=/workspace/soc-sdk .. 
make

復(fù)制到開發(fā)板

scp ../yolov5_bmcv.soc linaro@192.168.17.153:/data/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv

開發(fā)板運行

linaro@bm1684:/data/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv$ ./yolov5_bmcv_drawr.soc --input=rtsp://admin:sangfor@123@192.168.17.253 --bmodel=BM1684/yolov5s_v6.1_3output_int8_1b.bmodel

目標追蹤

注:所有模型轉(zhuǎn)換都是在docker環(huán)境中的

先進入docker

這里我們是要在docker環(huán)境里編譯的,所以先進入docker

:~/tpu-nntc# docker run -v $PWD/:/workspace  -it sophgo/tpuc_dev:latest

初始化環(huán)境

root@2bb02a2e27d5:/workspace/tpu-nntc# source ./scripts/envsetup.sh

docker里安裝編譯器

root@2bb02a2e27d5:/workspace/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv/build# sudo apt-get install  gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libeigen3-dev

本C++例程依賴Eigen,您需要在編譯c++程序的機器上運行如下命令安裝:

sudo apt install libeigen3-dev

先下載相關(guān)文件,主要是追蹤的測試視頻,測試圖片,目標追蹤的權(quán)重,目標檢測的權(quán)重

# 安裝unzip,若已安裝請?zhí)^
sudo apt install unzip
chmod -R +x scripts/
./scripts/download.sh

然后編譯c++代碼

/workspace/sophon-demo/sample/DeepSORT/cpp/deepsort_bmcv/build# 
cd cpp/deepsort_bmcv
mkdir build && cd build
# 請根據(jù)實際情況修改-DSDK的路徑,需使用絕對路徑。
cmake -DTARGET_ARCH=soc -DSDK=/workspace/soc-sdk ..  
make

這時會生成deepsort_bmcv.soc文件,復(fù)制到盒子里

:/workspace/sophon-demo/sample/DeepSORT/cpp/deepsort_bmcv# scp -r  deepsort_bmcv.soc linaro@192.168.17.125:/data/yolo/sophon-demo/sample/DeepSORT/cpp

測試視頻

./deepsort_bmcv.soc --input=rtsp://admin:sangfor@123@192.168.17.253 --bmodel_detector=../../BM1684/yolov5s_v6.1_3output_int8_1b.bmodel --bmodel_extractor=../../BM1684/extractor_fp32_1b.bmodel --dev_id=0

運行相關(guān)代碼,這個是檢測圖片的

cd python
python3 deepsort_opencv.py --input ../datasets/mot15_trainset/ADL-Rundle-6/img1 --bmodel_detector ../models/BM1684/yolov5s_v6.1_3output_int8_1b.bmodel --bmodel_extractor ../models/BM1684/extractor_fp32_1b.bmodel --dev_id=0

對視頻追蹤

python3 deepsort_opencv.py --input ../datasets/test_car_person_1080P.mp4 --bmodel_detector ../models/BM1684/yolov5s_v6.1_3output_int8_1b.bmodel --bmodel_extractor ../models/BM1684/extractor_fp32_1b.bmodel --dev_id=0

對本地攝像頭視頻追蹤

python3 deepsort_opencv.py --input rtsp://admin:sangfor@123@192.168.17.253 --bmodel_detector ../models/BM1684/yolov5s_v6.1_3output_int8_1b.bmodel --bmodel_extractor ../models/BM1684/extractor_fp32_1b.bmodel --dev_id=0

人體姿態(tài)估計

python3 python/openpose_opencv.py --input rtsp://admin:sangfor@123@192.168.17.253 --bmodel models/BM1684/pose_coco_fp32_1b.bmodel --dev_id 0

生成的文件會放在sample/YOLOv5/data/models/BM1684/int8model/anquanmao_batch1

:~/fugui/sophon-demo_20221027_181652/sophon-demo_v0.1.0_b909566_20221027/sample/YOLOv5/data/models/BM1684/int8model/anquanmao_batch1# ls
compilation.bmodel  input_ref_data.dat  io_info.dat  output_ref_data.dat

然后將轉(zhuǎn)換好的模型推送到開發(fā)板

scp compilation.bmodel linaro@{開發(fā)板ip地址}:/data/{你的yolov5存放路徑}

開發(fā)板環(huán)境配置

搭建 libsophon 環(huán)境

cd libsophon_<date>_<hash>
# 安裝依賴庫,只需要執(zhí)行一次
sudo apt install dkms libncurses5
sudo dpkg -i sophon-*.deb
# 在終端執(zhí)行如下命令,或者log out再log in當前用戶后即可使用bm-smi等命令
source /etc/profile

python3 yolov5_new_1.py --input rtsp://admin:1111111a@192.168.16.223 --bmodel yolov5s_v6.1_3output_fp32_1b.bmodel

c++編譯環(huán)境

安裝libsophon

進入sophon-img_20221027_215835這個路徑

解壓里面的tar包

:~/fugui/sophon-img_20221027_215835# tar -zxvf libsophon_soc_0.4.2_aarch64.tar.gz

將相關(guān)庫目錄和頭文件目錄拷貝到soc-sdk文件夾中

:~/fugui/sophon-img_20221027_215835/libsophon_soc_0.4.2_aarch64/opt/sophon/libsophon-0.4.2# sudo cp -rf include lib ~/fugui/soc-sdk

安裝sophon-opencv 和sophon-ffmpeg

先進入sophon-mw,解壓sophon-mw-soc_0.4.0_aarch64.tar.gz這個tar包

:~/fugui/sophon-mw_20221027_183429# tar -zxvf sophon-mw-soc_0.4.0_aarch64.tar.gz

復(fù)制相關(guān)文件到soc-sdk

:~/fugui/sophon-mw_20221027_183429/sophon-mw-soc_0.4.0_aarch64/opt/sophon# cp -rf sophon-ffmpeg_0.4.0//lib sophon-ffmpeg_0.4.0/include/ ~/fugui/soc-sdk:~/fugui/sophon-mw_20221027_183429/sophon-mw-soc_0.4.0_aarch64/opt/sophon# cp -rf sophon-opencv_0.4.0//lib sophon-opencv_0.4.0/include/ ~/fugui/soc-sdk

很簡單,復(fù)制過去,交叉編譯的環(huán)境就搭建好了

TPU-NNTC環(huán)境

這里我們是要在docker環(huán)境里編譯的,所以先進入docker

:~/fugui# docker run -v $PWD/:/workspace  -it sophgo/tpuc_dev:latest

然后進入tpu-nntc,初始化環(huán)境

root@2bb02a2e27d5:/workspace/tpu-nntc# source ./scripts/envsetup.sh

docker里安裝編譯器

root@2bb02a2e27d5:/workspace/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv/build# sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

進入sophon-demo路徑

下載相關(guān)文件

:~/fugui/sophon-demo/sample/YOLOv5# chmod -R +x scripts/
:~/fugui/sophon-demo/sample/YOLOv5# ./scripts/download.sh

編譯yolov5

我們這里只是交叉編譯,不能在x86設(shè)備上運行,要復(fù)制到我們1684平臺

先cmake

root@2bb02a2e27d5:/workspace/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv/build# cmake -DTARGET_ARCH=soc -DSDK=/workspace/soc-sdk ..

在make

root@2bb02a2e27d5:/workspace/sophon-demo/sample/YOLOv5/cpp/yolov5_bmcv/build# make

此時會出現(xiàn).soc文件

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-eWPar5Yp-1692844732110)(https://gitee.com/lizheng0219/picgo_img/raw/master/img202325/image-20230421134631891.png)]

把輸出的文件傳導(dǎo)我們開發(fā)板上運行下

scp -r yolov5_bmcv linaro@192.168.17.125:/data/sophon-demo/sample/YOLOv5/cpp/

運行推理圖片

./yolov5_bmcv.soc --input=../../coco128 --bmodel=../../python/yolov5s_v6.1_3output_fp32_1b.bmodel --dev_id=0 --conf_thresh=0.5 --nms_thresh=0.5 --classnames=../../coco.names 

推理視頻

./yolov5_bmcv.soc --input=../../test.avi --bmodel=../../python/yolov5s_v6.1_3output_fp32_1b.bmodel --dev_id=0 --conf_thresh=0.5 --nms_thresh=0.5 --classnames=../../coco.names 

c++推理網(wǎng)絡(luò)攝像頭

./yolov5_bmcv.soc --input=rtsp://admin:sangfor@123@192.168.17.253 --bmodel=/data/ai_box/yolov5s_640_coco_v6.1_3output_int8_1b_BM1684.bmodel --dev_id=0 --conf_thresh=0.5 --nms_thresh=0.5 --classnames=../../coco.names
./yolov5_bmcv.soc --input=rtsp://admin:sangfor@123@192.168.17.253 --bmodel=/data/models/all16_v6.1_3output_int8_4b.bmodel --dev_id=0 --conf_thresh=0.5 --nms_thresh=0.5 --classnames=/data/models/all16.names

網(wǎng)絡(luò)攝像頭:安全帽

 ./yolov5_bmcv.soc  --bmodel=anquanmao.bmodel --dev_id=0 --conf_thresh=0.5 --nms_thresh=0.5 --classnames=../../coco.names 

Python推理

python3 yolov5_opencv.py --input rtsp://admin:1111111a@192.168.16.222  --bmodel ../yolov5s_v6.1_3output_int8_4b.bmodel

前端只展示一路攝像頭,我們只需要做一路攝像頭使用多個算法推理。

不展示的攝像頭也要實時在后臺推理,有出現(xiàn)問題時要及時報警。

這樣我們需做出單路攝像頭推理多算法(單攝像頭單算法也行,把所有檢測都放到一個模型里,輸出時只輸出他選擇的那個)

把所有模型統(tǒng)一訓(xùn)練比較簡單,后臺一塊推理

sophon-pipeline

本地編譯

docker run -v $PWD/:/workspace -p 8001:8001 -it sophgo/tpuc_dev:latest
source scripts/envsetup.sh
sudo apt-get install -y  gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libeigen3-dev
./tools/compile.sh soc /workspace/soc-sdk

開發(fā)板運行

linaro@bm1684:/data/sophon-pipeline/release/video_stitch_demo$ ./soc/video_stitch_demo --config=cameras_video_stitch1.json

英碼

export PYTHONPATH=$PYTHONPATH:/system/libexport
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib/

python

pip3 install sophon_arm-master-py3-none-any.whl --force-reinstall 
pip3 install opencv-python-headless<4.3

開發(fā)板執(zhí)行命令

python3 python/yolov5_opencv.py --input ../data/images/coco200/000000009772.jpg  --model  ../compilation.bmodel --dev_id 0 --conf_thresh 0.5 --nms_thresh 0.5 
python3 python/yolov5_opencv.py --input ../data/xiyanimg/000017.jpg  --model  ../compilation.bmodel --dev_id 0 --conf_thresh 0.5 --nms_thresh 0.5
python3 python/yolov5_video.py --input rtsp://admin:sangfor@123@192.168.17.253 --model  ../compilation.bmodel

image-20230418164224531

python3 python/yolov5_video.py --input rtsp://admin:1111111a@192.168.16.222  --model  ../compilation.bmodel --dev_id 0 --conf_thresh 0.5 --nms_thresh 0.5 
tar -zxf ~/Release_221201-public/sophon-mw_20221227_040823/sophon-mw-soc_*_aarch64.tar.gz
http://m.risenshineclean.com/news/65552.html

相關(guān)文章:

  • 設(shè)計師逛的網(wǎng)站購物網(wǎng)站
  • 網(wǎng)絡(luò)運營一個月工資廣州網(wǎng)站快速排名優(yōu)化
  • 網(wǎng)站應(yīng)包括的基本功能和高級功能衡陽百度推廣
  • 做招聘和求職都需要哪些網(wǎng)站站長統(tǒng)計是什么意思
  • 成都網(wǎng)站建設(shè)公司盈利嗎品牌宣傳策略
  • 汕頭網(wǎng)站建設(shè)制作方案百度網(wǎng)站打開
  • 用c 做網(wǎng)站和數(shù)據(jù)庫方法百度快速優(yōu)化排名軟件
  • 網(wǎng)站后臺信息維護要怎么做網(wǎng)站模板平臺資源
  • 淘寶聯(lián)盟合作網(wǎng)站api廣告推廣方式
  • 官方建網(wǎng)站有哪些步驟高清的網(wǎng)站制作
  • 茶葉網(wǎng)站開發(fā)seo網(wǎng)絡(luò)培訓(xùn)機構(gòu)
  • 多余菜單刪掉wordpress哈爾濱推廣優(yōu)化公司
  • 3d網(wǎng)站帶后臺下載河南今日重大新聞
  • 小公司做網(wǎng)站賺錢seo資訊網(wǎng)
  • 手表商城網(wǎng)站建設(shè)方案太原百度關(guān)鍵詞排名
  • 受歡迎的建網(wǎng)站公司千萬不要去電商公司上班
  • 寧波外貿(mào)網(wǎng)站制作付費惡意點擊軟件
  • 網(wǎng)站集約化建設(shè)背景seo 技術(shù)優(yōu)化
  • 專業(yè)網(wǎng)站策劃 西安百度ai搜索引擎
  • 仙游有人做網(wǎng)站seo關(guān)鍵詞推廣話術(shù)
  • 織夢網(wǎng)站怎么做301seo的形式有哪些
  • 怎樣制作網(wǎng)頁北京網(wǎng)站建設(shè)優(yōu)化
  • b2b電子商務(wù)網(wǎng)站有哪些特點百度應(yīng)用商店官網(wǎng)
  • 鄭州酒店網(wǎng)站建設(shè)seo網(wǎng)絡(luò)推廣專員招聘
  • 東莞網(wǎng)站建設(shè)網(wǎng)站推廣網(wǎng)絡(luò)營銷組織的概念
  • 網(wǎng)站調(diào)優(yōu)技能企業(yè)培訓(xùn)考試系統(tǒng)app
  • wordpress特定頁面重定向百度seo價格查詢系統(tǒng)
  • 重慶網(wǎng)站設(shè)計哪家公司好百度競價托管
  • 設(shè)計一個b2c網(wǎng)站b站不收費網(wǎng)站
  • 學(xué)編程做網(wǎng)站網(wǎng)絡(luò)推廣員的前景