顯示具有 AI 標籤的文章。 顯示所有文章
顯示具有 AI 標籤的文章。 顯示所有文章

2020年5月23日 星期六

Jest Xavier NX 簡易安裝跑起YOLOV4





1. 先安裝Nvidia 提供的NX image.

https://developer.nvidia.com/embedded/learn/get-started-jetson-xavier-nx-devkit#write

2.安裝Jtop 可檢視CPU ,GPU ,Memory,溫度...等等 使用狀況


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip python3-dev build-essential
sudo -H pip3 install jetson-stats
sudo jtop



3.直接下載Darknet 編譯及安裝


git clone https://github.com/AlexeyAB/darknet.git

cd darknet
sudo gedit Makefile

修改Makefile內容:
##--------------------------------------------------------
GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1
AVX=0
OPENMP=0
LIBSO=1
ZED_CAMERA=0 # ZED SDK 3.0 and above
ZED_CAMERA_v2_8=0 # ZED SDK 2.X
##---------------------------------------------------------

sudo gedit ~/.bashrc
增加以下內容到 .bashrc 最後:
##--------------------------------------------------------
export DARKNET_HOME=/home/_name_/darknet/
export CUDA_HOME=/usr/local/
export PATH=${DARKNET_HOME}:${CUDA_HOME}bin:${PATH}
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
##--------------------------------------------------------

Note:_name_ 要改成你的系統名子
然後使其生效:

source ~/.bashrc

然後編譯:
make

編譯成功後 ,使用./darknet 測試,應出現如下結果





下載yolov4.weight 以及任一個測試video檔如 tested50.mp4(請自己準備或從youtube下載)
yolov4.weight下載聯結:
https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights

接著執行以下指令及可以跑起Yolov4 ,FPS 約4~4.5

./darknet detector demo ./cfg/coco.data ./cfg/yolov4.cfg ./yolov4.weights test50.mp4 -i 0 -thresh 0.25

如果要跑Yolov3的話改成以下指令:

./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg ./yolov3.weights test50.mp4 -i 0 -thresh 0.25
需要有相對應的weight 檔






如果要開啟USB camera  將darknet_video.py 82,83列改成以下,即可跑起USB camera
執行
python3 darknet_video.py

cap = cv2.VideoCapture(0)
#cap = cv2.VideoCapture("test.mp4")







另外這裡有一個我已經編譯好的簡易版vscode 可以從這裡下載:
https://drive.google.com/file/d/1GH9bC3uLwJwZTbOloYafpZU7O5CtGend/view?usp=sharing

然後安裝:
sudo dpkg -i code-oss_1.35.0-1558361432_arm64.deb
使用 code-oss
可以使用在Jetson Nano or NX 都可以

以上就是快速簡易的安裝讓YoloV4 或Yolov3 跑起來,之後如果要安裝tensorflow 或是pytorch
等等框架可以直接參考以下聯結Jeston Zoo:

https://elinux.org/Jetson_Zoo

適用於各Jetson 系列

另外在本文的設定裡,並沒有安裝使用python 虛擬環境,原因是個人覺得其實不需要
其實裝的東西沒那麼複雜,再來則是省去了需要做link的動作,例如如果做了python 虛擬環境
則需要將opencv tensorrt 這些module link到你的虛擬環境裡。所以,尤其對初學者而言其實不去做python 虛擬環境會比較方便。如果真的想做,之後再做其實也可以。


最後來個 Yolov4 辨識ok手勢的Demo  on Jestson Xavier NX
416x416  FPS: 7~8

https://youtu.be/LQ0niAgDdis















2017年3月12日 星期日

機器學習(9)--大數據競賽平台Kaggle入門,練習手寫數字辨識

     我們這次利用多層感知器MLP所作的手寫數字辨識,來練習大數據競賽平台Kaggle的投稿方式。在Kaggle上有多項有獎金的項目正在進行,這些項目想必難度很高。另外也有提供入門的練習項目是沒有獎金的,但是有提供了相關數據可以下載,也有人分享了他們實作該競賽項目的方法,這些可以供我們練習及參考。
     接下來我們就練習從Kaggle下載它所提供的手寫數字數據,利用MLP辨識完後把結果上傳回Kaggle平台,它就會馬上幫我們算出辨識準確率及在該項目的排名。

     這邊直接省略註冊步驟,註冊是免費的而且可以直接使用Facebook 或是google+帳號即可,故我們直接從如何下載手寫數字數據開始。
進入Kaggle平台網頁上方選擇[Competitions],底下往下拉即可以看到目前正在進行的競賽項目。
Kaggle平台連結:https://www.kaggle.com/competitions

     如下圖,它有幾種分類,Featured 及Research都是有獎金的,至於新手入門可以從Playground及Getting Started 做起。我們在這邊直接選擇最下方Digit Recognizer 進去。


2016年11月5日 星期六

人工神經網路(1)--使用Python實作perceptron(感知器)



        這篇文章介紹人工神經網路最基本的單元,perceptron(感知器)。使用最簡化的數學公式
說明,並利用Python語言實作單一感知器and 及or 的邏輯功能.

        1943年,Warren McCulloch 和Walter Pitts 提出了一簡單計算元素的神經元,這個思想現在仍然是大多數人工神經網路的基礎.
        如下<圖一>神經元接收了來自輸入連結的一些輸入信號(X1......Xn),這些輸入信號可以是原始資料或是其他神經元的輸出信號。輸出信號則可以是最終答案,也可以是其他神經元的輸入信號。
        神經元計算帶權重的輸入信號和並將結果和臨界值θ比較,如果網路淨輸入比臨界值低,則神經元輸出0,反之,如果網路淨輸入比臨界值低,則神經元輸出1。

<圖一>典型的神經元




        換言之,神經元使用下面的轉移或激勵函數.
其中X是神經元的淨權重輸入,Xi 是"輸入i"的值,Wi是"輸入i"的權重,
n是神經元輸入數量,Y是神經元的輸出。