国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理

這篇具有很好參考價值的文章主要介紹了yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一.yolov5的運行環(huán)境配置(Windows系統(tǒng))

1、NVIDIA驅(qū)動安裝與更新

?2、Anaconda 的安裝

3、Pytorch環(huán)境安裝

?4、pycharm安裝

二.yolov5訓(xùn)練數(shù)據(jù)集,得到best.pt(Windows系統(tǒng))

?1.下載YOLO項目代碼

?2.環(huán)境安裝

3. 數(shù)據(jù)集下載:

三.best.pt轉(zhuǎn)為onnx模型(Windows系統(tǒng))

四.best.onnx轉(zhuǎn)為best.rknn模型(Linux系統(tǒng))

?1.環(huán)境準(zhǔn)備和工具包安裝

2.onnx轉(zhuǎn)換為rknn

?五.RK3568板子上運行demo(RK3568)

1.通電,聯(lián)網(wǎng)

2.在RK3568板子上運行yolov5_demo?

六.將自己訓(xùn)練過且轉(zhuǎn)換后的best.rknn傳送到RK3568板子上,并運行(RK3568)

1.通過WinSCP傳輸文件

2.RK3568平臺部署best.rknn

一.yolov5的運行環(huán)境配置(Windows系統(tǒng))

1、NVIDIA驅(qū)動安裝與更新

首先查看電腦的顯卡版本,直接搜索設(shè)備管理器–>顯示適配器。就可以看到電腦顯卡的版本了。如圖,可以看到我的是一塊NVDIA GeForce RTX3060顯卡

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

顯卡驅(qū)動的下載地址

安裝(更新)好了顯卡驅(qū)動以后。我們按下win+R組合鍵,打開cmd命令窗口。輸入如下的命令。

nvidia-smi

?得到CUDA Version的最高適配版本,為12.0,比它低的版本都可以下載。yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?2、Anaconda 的安裝

打開網(wǎng)址,下載,這里選擇對應(yīng)的anaconda版本是支持python3.9的。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

雙擊下載好的anaconda安裝包,just me是說只供當(dāng)前用戶使用。all user 是供使用這臺電腦的所有用戶使用,是權(quán)限問題。對空間影響不大。如果你的電腦上只有建了一個用戶,all users和just me 的作用是一樣的。所以點擊just me就好了。

然后點擊next,當(dāng)讓你選擇安裝安裝路徑的時候,一定不要選擇默認安裝位置,因為默認位置是c盤,以后要在anaconda里面創(chuàng)建環(huán)境的時候會很占內(nèi)存,最好在D盤中創(chuàng)建一個文件夾來放anaconda。

和圖中一樣將圖中的√勾上,雖然出現(xiàn)紅色的警告,但是要勾上,將anaconda添加到環(huán)境變量中去。然后點擊完成就好了。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?安裝完成以后,按下開始鍵(win鍵)在左邊就會出現(xiàn)anaconda3這個文件夾,可以發(fā)現(xiàn)anaconda已經(jīng)安裝好了。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

3、Pytorch環(huán)境安裝

按下開始鍵(win鍵),打開anaconda的終端。

創(chuàng)建虛擬環(huán)境conda create -n 環(huán)境名字(英文) python=x.x(python版本),如下,我就是創(chuàng)建了一個名字叫pytorch,python是3.8版本的環(huán)境。

conda create -n pytorch python=3.8

?在base環(huán)境中執(zhí)行如上的命令,就會創(chuàng)建一個新的虛擬環(huán)境,這個虛擬環(huán)境會安裝一些基礎(chǔ)的包,如下圖所示。詢問是否安裝的時候,輸入y。就可以創(chuàng)建環(huán)境了。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

當(dāng)安裝好了以后,執(zhí)行conda env list這個命令,就可以看到比一開始多了一個pytorch這個環(huán)境。現(xiàn)在我們可以在這個環(huán)境里面安裝深度學(xué)習(xí)框架和一些Python包了。

conda env list

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?執(zhí)行如下命令,激活這個環(huán)境。conda activate 虛擬環(huán)境名稱。

conda activate pytorch

?安裝pytorch-gup版的環(huán)境,由于pytorch的官網(wǎng)在國外,下載相關(guān)的環(huán)境包是比較慢的,所以我們給環(huán)境換源。在pytorch環(huán)境下執(zhí)行如下的命名給環(huán)境換清華源。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

?然后打開pytorch的官網(wǎng),由于開頭我們通過驅(qū)動檢測到我的顯卡為 NVDIA GeForce RTX3060,最高支持cuda12.0版本,為了穩(wěn)定,我們選擇cuda11.3版本的cuda,然后將下面紅色框框中的內(nèi)容復(fù)制下來。

conda install pytorch torchvision torchaudio pytorch-cuda=11.3 -c pytorch -c nvidia

?如果由于網(wǎng)絡(luò)原因,conda沒有成功,就試下pip安裝。

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113

還是不行的話,就將torch,torchvision,torchaudio的包分別下載下來。Ctrl+F可以搜索

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?放到安裝環(huán)境下,執(zhí)行安裝

pip install torch-1.10.1+cu113-cp38-cp38-win_amd64.whl

?在虛擬環(huán)境下,執(zhí)行

conda list

查看安裝的包,主要出現(xiàn) torch 后面跟著的1.10.1+cu113。torchvision,torchaudio也是。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

在虛擬環(huán)境下打開python,import torch,后輸入

print(torch.cuda.is_available())

打印True,即為成功。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?4、pycharm安裝

打開這個pycharm網(wǎng)址,可以發(fā)現(xiàn)一共有兩個版本一個是專業(yè)版(Professional),一個是社區(qū)版(Community),專業(yè)版是需要花錢的,好幾百美元一年。而社區(qū)版是免費的,但是也夠用了,所以就下載安裝社區(qū)版就好了。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

將下載好的pycharm安裝包,雙擊。安裝的地址最好不要放在C盤。

將所有的√都勾上,

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?安裝好了點擊第二個框框,然后點完成就好了

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

創(chuàng)建一個工程,這時候我們就要選擇我們在anaconda里面安裝的環(huán)境,在界面的右下角

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

二.yolov5訓(xùn)練數(shù)據(jù)集,得到best.pt(Windows系統(tǒng))

?1.下載YOLO項目代碼

點擊這里下載并解壓YOLO的官方代碼:GitHub - ultralytics/yolov5 at v5.0

?2.環(huán)境安裝

將requirements.txt放到相應(yīng)的環(huán)境文件夾下,在anconda命令窗中輸入

pip install -r requirements.txt

3. 數(shù)據(jù)集下載:

使用百度飛槳提供的3種水果檢測的小數(shù)據(jù)集,百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1XM1xdM6E7JcIm7EU8J0uMw
提取碼:m9h6
下載后解壓好,放入剛剛下載的YOLO項目的文件夾里邊(注意:小白一定要放,跟著走就不會報錯,如果是大神的話那就隨意了)

參考:https://blog.csdn.net/weixin_45941288/article/details/124286924

三.best.pt轉(zhuǎn)為onnx模型(Windows系統(tǒng))

請看官方教程:?

rknn-toolkit/examples/pytorch/yolov5 at master · rockchip-linux/rknn-toolkit · GitHub

需要指出的是,雖然我們后面要使用的是rknn-toolkit2工具進行模型轉(zhuǎn)換,但教程卻在rknn-toolkit工程中,github二者的父目錄如圖:

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

上面的

    def forward(self, x):
        z = []  # inference output
        for i in range(self.nl):
            x[i] = self.m[i](x[i])  # conv
            bs, _, ny, nx = x[i].shape  # x[i](bs,self.no * self.na,20,20) to x[i](bs,self.na,20,20,self.no)
            x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()

            if not self.training:  # inference
                if self.onnx_dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]:
                    self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)

                y = x[i].sigmoid()  # (tensor): (b, self.na, h, w, self.no)
                if self.inplace:
                    y[..., 0:2] = (y[..., 0:2] * 2 - 0.5 + self.grid[i]) * self.stride[i]  # xy
                    y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]  # wh
                else:  # for YOLOv5 on AWS Inferentia https://github.com/ultralytics/yolov5/pull/2953
                    xy = (y[..., 0:2] * 2 - 0.5 + self.grid[i]) * self.stride[i]  # xy
                    wh = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]  # wh
                    y = torch.cat((xy, wh, y[..., 4:]), -1)
                z.append(y.view(bs, -1, self.no))  # z (list[P3_pred]): Torch.Size(b, n_anchors, self.no)

        return x if self.training else (torch.cat(z, 1), x)

v5.5.0的?

    def forward(self, x):
        # x = x.copy()  # for profiling
        z = []  # inference output
        self.training |= self.export
        for i in range(self.nl):
            x[i] = self.m[i](x[i])  # conv
            bs, _, ny, nx = x[i].shape  # x(bs,255,20,20) to x(bs,3,20,20,85)
            x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()

            if not self.training:  # inference
                if self.grid[i].shape[2:4] != x[i].shape[2:4]:
                    self.grid[i] = self._make_grid(nx, ny).to(x[i].device)

                y = x[i].sigmoid()
                y[..., 0:2] = (y[..., 0:2] * 2. - 0.5 + self.grid[i]) * self.stride[i]  # xy
                y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]  # wh
                z.append(y.view(bs, -1, self.no))

        return x if self.training else (torch.cat(z, 1), x)

v5.6的

    def forward(self, x):
        z = []  # inference output
        for i in range(self.nl):
            x[i] = self.m[i](x[i])  # conv
            bs, _, ny, nx = x[i].shape  # x(bs,255,20,20) to x(bs,3,20,20,85)
            x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()

            if not self.training:  # inference
                if self.dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]:
                    self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)

                if isinstance(self, Segment):  # (boxes + masks)
                    xy, wh, conf, mask = x[i].split((2, 2, self.nc + 1, self.no - self.nc - 5), 4)
                    xy = (xy.sigmoid() * 2 + self.grid[i]) * self.stride[i]  # xy
                    wh = (wh.sigmoid() * 2) ** 2 * self.anchor_grid[i]  # wh
                    y = torch.cat((xy, wh, conf.sigmoid(), mask), 4)
                else:  # Detect (boxes only)
                    xy, wh, conf = x[i].sigmoid().split((2, 2, self.nc + 1), 4)
                    xy = (xy * 2 + self.grid[i]) * self.stride[i]  # xy
                    wh = (wh * 2) ** 2 * self.anchor_grid[i]  # wh
                    y = torch.cat((xy, wh, conf), 4)
                z.append(y.view(bs, self.na * nx * ny, self.no))

        return x if self.training else (torch.cat(z, 1),) if self.export else (torch.cat(z, 1), x)

?改為

def forward(self, x):
        z = []  # inference output
        for i in range(self.nl):
            x[i] = self.m[i](x[i])  # conv

        return x

?注意:在訓(xùn)練時不要修改yolo.py的這段代碼,訓(xùn)練完成后使用export.py進行模型導(dǎo)出轉(zhuǎn)換時一定要進行修改,不然會導(dǎo)致后面的rknn模型轉(zhuǎn)換失敗!

在export.py文件的最開始添加以下代碼

import sys
#里面替換為自己項目目錄下的文件路徑
sys.path.insert(0, '/yolov5_ccj_alage/')

修改后將export.py移動至best.pt同一文件夾下,在命令行調(diào)用以下命令:

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

python export.py --weights best.pt --img 640 --batch 1 

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

我們便可以得到成功轉(zhuǎn)換的模型best.onnx。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

四.best.onnx轉(zhuǎn)為best.rknn模型(Linux系統(tǒng))

?1.環(huán)境準(zhǔn)備和工具包安裝

有了以上的best.onnx模型作為基礎(chǔ),現(xiàn)在可以正式開始rknn模型的轉(zhuǎn)換了。此處的轉(zhuǎn)換工具rknn-toolkit2只能在Linux系統(tǒng)上運行,這里我使用的是PC上的Ubuntu虛擬機。首先安裝rknn-toolkit2的環(huán)境, 其環(huán)境要求在./doc/requirements_cp38-1.4.0.txt中,這里我使用的是conda創(chuàng)建的python3.8虛擬環(huán)境,和windows下anaconda使用方法類似,推薦大家在管理python環(huán)境時使用。創(chuàng)建環(huán)境并命名為rknn,使用pip安裝requirements_cp38-1.4.0.txt中的包。

conda activate rknn
pip install -r requirements_cp38-1.4.0.txt

如果因為網(wǎng)絡(luò)原因未安裝成功,可以換源。

pip install xxxxx -i https://pypi.tuna.tsinghua.edu.cn/simple

?環(huán)境滿足需求后便可以安裝rknn-toolkit2工具包了,瀏覽至./packages中,輸入以下命令:

pip install rknn_toolkit2-1.4.0_22dcfef4-cp38-cp38-linux_x86_64.whl

提示安裝完成后我們可以檢查是否安裝成功,在終端中運行python,輸入:

from rknn.api import RKNN

若不報錯說明我們的工具包已經(jīng)安裝成功,之后便可進行rknn模型的轉(zhuǎn)換了

2.onnx轉(zhuǎn)換為rknn

在rknn-toolkit2工程文件夾中瀏覽至./examples/onnx/yolov5,將我們在2.2中轉(zhuǎn)換得到的best.onnx復(fù)制到該文件夾下,修改該文件夾下的test.py中的內(nèi)容為自己模型的名字,要修改的地方如下:

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

修改模型和待預(yù)測圖片,以及自定義的類別。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?如果板子是RK3568,即換成RK3568,后面用的板子是RK3568的。

?在這個test.py的main函數(shù)中(在第239行附近)可以了解到這個python文件的作用:

? ? ? ?【?配置——加載onnx模型—導(dǎo)出rknn模型——rknn模型推理——后處理——輸出結(jié)果

?在test.py的最后,取消注釋,添加cv.imwrite。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

運行test.py,開始轉(zhuǎn)換

python test.py

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

result.jpg

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?五.RK3568板子上運行demo(RK3568)

1.通電,聯(lián)網(wǎng)

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

綠燈即運行成功

打開桌面的LXTerminal,輸入ifconfig,查看網(wǎng)絡(luò)狀態(tài)和地址,

依次輸入

systemctl status NetworkManager
systemctl enable NetworkManager
systemctl restart NetworkManager
nmcli c add type ethernet con-name conn-eth1 ifname eth1 ipv4.method auto

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

執(zhí)行下面命令

nmcli c show

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

nmcli c delete xxxxxxxxxxxxxxxxxxxxxxxxxxxx(uuid)

?把所有查出來的uuid都刪除掉,然后就可以去圖形界面編輯,聯(lián)網(wǎng)了。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

2.在RK3568板子上運行yolov5_demo?

?下載好rknpu2_1.3.0,放到了/home/data/ 目錄下,安裝好編譯環(huán)境所需要的,如Cmake,gcc,g++等,可以先執(zhí)行.sh文件,看缺什么安什么。打開LXTerminal。

cd /home/data/rknpu2_1.3.0/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux
./rknn_yolov5_demo model/RK356X/yolov5s-640-640.rknn model/bus.jpg

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

47.763500 ms

?運行結(jié)果在上一級文件里

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?resize_input.jpg是resize后的輸入圖片,像素大小為640*640,out.jpg是輸出的圖片

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?可以多用幾張coco數(shù)據(jù)集里面的照片進行測試,像素大小調(diào)整為640*640

例如斑馬,可以通過U盤將文件導(dǎo)入RK3568板子里去

./rknn_yolov5_demo model/RK356X/yolov5s-640-640.rknn model/horse.jpg

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

用時47.656 ms

六.將自己訓(xùn)練過且轉(zhuǎn)換后的best.rknn傳送到RK3568板子上,并運行(RK3568)

1.通過WinSCP傳輸文件

通過插拔U盤比較費時,且有時候接觸不良,rk3568板子不能識別,所以通過WinSCP傳輸,WinSCP :: Official Site :: Free SFTP and FTP client for Windows官網(wǎng)下載,在RK3568的板子,輸入

ifconfig

查詢板子的ip地址,

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

ip地址為172.25.177.28。打開WinSCP,寫入主機名,端口號改為22,用戶名為root

?yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?點擊登錄后,輸入密碼,即可相互傳輸文件。

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

2.RK3568平臺部署best.rknn

cd /home/data/rknpu2_1.3.0/examples/rknn_yolov5_demo

進入include文件夾,找到頭文件postprocess.h,

?vim操作命令:i 插入,esc退出操作命令,:wq保存并退出。

#define OBJ_CLASS_NUM     3  #這里的數(shù)字修改為數(shù)據(jù)集的類的個數(shù)

?修改rknn_yolov5_demo/model目錄下的coco_80_labels_list.txt文件,?改為自己的類并保存?

apple
banana
orange

并將待檢測的圖片defect_det.jpg放到目錄下

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

?將轉(zhuǎn)換后的best.rknn文件通過WinSCP放在rknn_yolov5_demo/model/RK356X目錄下

rknn_yolov5_demo目錄下編譯,運行shell

bash ./build-linux_RK356X.sh

?成功后生成install目錄

cd install/rknn_yolov5_demo_Linux

運行(這里是將Linux系統(tǒng)下生成的best.rknn的名稱改為了best-640-640.rknn,其實是沒變的,所以下面要用best-640-640.rknn)

./rknn_yolov5_demo model/RK356X/best-640-640.rknn model/defect_det.jpg

?在rknn_yolov5_demo_Linux獲取到結(jié)果

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

用時48607.371000 ms,用時過長,需要改進,且不能退出執(zhí)行命令了?

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理,YOLO,深度學(xué)習(xí),python

參考:

(103條消息) 一分鐘教會您使用Yolov5訓(xùn)練自己的數(shù)據(jù)集并測試_yolov5測試_DK數(shù)據(jù)工作室的博客-CSDN博客

(99條消息) yolov5訓(xùn)練pt模型并轉(zhuǎn)換為rknn模型,部署在RK3588開發(fā)板上——從訓(xùn)練到部署全過程_rknn yolov5_Billy_zz的博客-CSDN博客

(104條消息) Yolov5的配置+訓(xùn)練(超級詳細?。。。小學(xué)生玩編程的博客-CSDN博客_yolov5訓(xùn)練文章來源地址http://www.zghlxwxcb.cn/news/detail-641730.html

到了這里,關(guān)于yolov5的運行環(huán)境配置、參數(shù)修改和訓(xùn)練命令,并將訓(xùn)練的pt模型轉(zhuǎn)換為rknn模型,并推理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包