有關YOLO目標檢測的FPGA加速教程(一)

1.內存卡的裝配

詳見:https://blog.csdn.net/weixin_38438451/article/details/83474479

在這一步,開發板啓動後,可以通過超級終端HyperTerminal軟件連接到Pynq,通過com端口查看ip進行以太網連接。

2.pynq上網

一、筆記本電腦需要先連上外網,可以連上家裏的WIFI,或者手機開熱點(本人未測試過連接手機的熱點,但是理論上應該可行)。

二、打開網絡共享中心->更改適配器設置->無線網絡連接->屬性->共享->允許其他網絡用戶通過此計算機連接->選擇本地連接->確定

三、完成第二部後會分配一個ip給本地連接,例如我的無線網絡連接的ip是192.168.7.34,分配給本地連接的ip是192.168.137.1,我們需要的就是這個本地連接的ip,這個ip也是開發板的網關ip。電腦本地連接ip == 開發板的網關ip!

四、開發板通過網線連接筆記本電腦,修改開發板的ip地址,需要對應好自己的網關地址配置ip,例如網關ip是192.168.137.1,配置ip的命令:ifconfig eth0 192.168.137.XXX,XXX隨便寫個數字(除了1)

五、網關配置爲筆記本電腦上的本地連接的ip地址,例如:route add default gw 192.168.137.1,記住這個ip每臺電腦分配的都可能不同,把這個ip修改成自己電腦上對應的本地連接ip。

六、最後嘗試ping www.baidu.com吧!

3.安裝pip

詳見:https://www.runoob.com/w3cnote/python-pip-install-usage.html

4.Tiny YOLO上板測試

參考大神之作:https://github.com/Xilinx/QNN-MO-PYNQ

1)下載文件(可能需要10分鐘時間左右,我的網速比較慢,)
# (on PYNQ v2.3 only)
sudo pip install git+https://github.com/Xilinx/QNN-MO-PYNQ.git

漫長的等待呀......

一杯茶的功夫,終於完成了

安裝完成後,我們可以看到jupyter中出現了我們剛纔安裝的庫用例。

2)初始化,打開該文件,即可運行我們的Tiny YOLO。

內部的邏輯欣賞一下:

首先導入必要的庫。我們在安裝pip的時候,安裝了qnn庫和yolo算法的darknet庫。

然後安裝分類器,初始化我們的加速器(配置文件形式和權重形式)。

在我個過程中,我們的加速器Overlay被示例化進我們的FPGA中,成爲我們的硬件協加速器。

該加速器已經由庫設計好,

在以後在進階開發中,我們可以創建自己的協加速器。

 

注意:

當項目過大時,git clone時會出現error: RPC failed; 

如果在clone的時候報錯了,需要在命令後加 --depth 1

 git clone https://github.com/Xilinx/QNN-MO-PYNQ.git --depth 1

depth用於指定克隆深度,爲1即表示只克隆最近一次commit.

這種方法克隆的項目只包含最近的一次commit的一個分支,體積很小,即可解決文章開頭提到的項目過大導致Timeout的問題,但會產生另外一個問題,他只會把默認分支clone下來,其他遠程分支並不在本地,所以這種情況下,需要用如下方法拉取其他分支:

$ git clone --depth 1 https://github.com/dogescript/xxxxxxx.git
$ git remote set-branches origin 'remote_branch_name'
$ git fetch --depth 1 origin remote_branch_name
$ git checkout remote_branch_name

5.解決問題

出現了一點問題,被卡了半天,就是python2裏沒有pynq這個庫,所以我們還是要把python版本進行切換,重新再來一次......

首先先來看一下我們的默認Python版本:

$ python --version
Python 2.x.x

然後我們修改一下別名

$ alias python='/usr/bin/python3':
$ python --version
Python 3.6.5  # 版本已經改變

1)再次下載文件(繼續消耗我那珍貴的10分鐘時間)
sudo pip3 install git+https://github.com/Xilinx/QNN-MO-PYNQ.git

又是漫長的等待呀......

終於呀,又完成任務

2)運行文件

直接運行tiny-yolo-image-loop.ipynb

上圖

大功告成!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章