如(rú)何在(zài) Jetson Orin NX 上(shàng)部(bù)署(shǔ) NanoOWL大(dà)模型

 公(gōng)司新(xīn)聞     |      2023-12-08 17:24:42    |      瀝拓

在(zài)生(shēng)成(chéng)式AI崛起(qǐ)的(de)浪潮(cháo)中(zhōng),NVIDIA Jetson Orin NX 作(zuò)为一(yī)款強(qiáng)大(dà)的(de)嵌入(rù)式AI计算平台(tái),为在(zài)邊(biān)緣端運行大(dà)模型提(tí)供了(le)理(lǐ)想(xiǎng)的(de)硬(yìng)件(jiàn)支持(chí)。本(běn)文(wén)将介紹如(rú)何在(zài) Leetop Jetson Orin NX 解(jiě)決方(fāng)案(àn)上(shàng)部(bù)署(shǔ) NanoOWL大(dà)模型並(bìng)提(tí)供了(le)詳细(xì)步驟。

在(zài)開(kāi)始(shǐ)之(zhī)前(qián),请确保你已經(jīng)完成(chéng)以下(xià)準備工作(zuò):

一(yī)、獲取(qǔ)硬(yìng)件(jiàn)(一(yī)套(tào)ALP-606

我(wǒ)们(men)準備一(yī)套(tào)LEETOP的(de)ALP-606(配置Jetson Orin NX 16G核心板)邊(biān)緣计算終(zhōng)端和(hé)攝像头(tóu),並(bìng)且(qiě)正(zhèng)确安(ān)裝(zhuāng)操作(zuò)系(xì)統及(jí)软(ruǎn)件(jiàn)

图(tú)片

二(èr)、配置ALP-606

連(lián)接 Alp-606 到(dào)计算机(Ubuntu 20.04),並(bìng)使用(yòng) SDK Manager 完成(chéng)初始(shǐ)配置。确保 JetPack 和(hé)所(suǒ)需的(de)软(ruǎn)件(jiàn)庫已經(jīng)正(zhèng)确安(ān)裝(zhuāng)。

三(sān)、安(ān)裝(zhuāng)依賴庫

在(zài) Jetson Orin NX 上(shàng)運行以下(xià)命令安(ān)裝(zhuāng)所(suǒ)需的(de)依賴庫:

1.安(ān)裝(zhuāng)依賴庫

sudo apt-get update

sudo apt-get install libhdf5-serial-dev \

hdf5-tools \

libhdf5-dev \

zlib1g-dev \

zip \

libjpeg8-dev \

liblapack-dev \

libblas-dev \

gfortran

2.安(ān)裝(zhuāng)和(hé)升(shēng)級pip3工具

sudo apt-get install python3-pip

sudo python3 -m pip install --upgrade pip

sudo pip3 install -U testresources setuptools==65.5.0

3.安(ān)裝(zhuāng)python依賴包(bāo)

sudo pip3 install -U numpy==1.22 \

future==0.18.2 \

mock==3.0.5 \

keras_preprocessing==1.1.2 \

keras_applications==1.0.8 \

gast==0.4.0 \

protobuf \

pybind11 \

cython \

pkgconfig \

packaging \

h5py==3.6.0

4.安(ān)裝(zhuāng)tensorflow

sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v512 tensorflow==2.12.0+nv23.06

接下(xià)来(lái)我(wǒ)们(men)就(jiù)開(kāi)始(shǐ)在(zài)ALP-606上(shàng)快(kuài)速部(bù)署(shǔ)NanoOWL算法(fǎ)

1.配置jetson_contain

git clone https://github.com/dusty-nv/jetson-containers

cd jetson-containers

sudo apt update; sudo apt install -y python3-pip

pip3 install -r requirements.txt

2.運行脚本(běn)拉取(qǔ)docker鏡(jìng)像並(bìng)進(jìn)入(rù)nanoowl的(de)docker环(huán)境

cd jetson-containers

./run.sh $(./autotag nanoowl)

等待拉取(qǔ)nanoowl的(de)docker鏡(jìng)像,成(chéng)功後(hòu)会(huì)自(zì)动進(jìn)入(rù)docker环(huán)境

3.運行NanoOWL算法(fǎ)example

cd examples

python3 owl_predict.py \

--prompt="[an owl, a glove]" \

--threshold=0.1 \

--image_encoder_engine=../data/owl_image_encoder_patch32.engine


運行成(chéng)功生(shēng)成(chéng)/opt/nanoowl/data/owl_predict_out.jpg文(wén)件(jiàn)

图(tú)片

4.運行NanoOWL算法(fǎ)樹(shù)型預測demo (Live Camera)

## 查看(kàn)docker环(huán)境里(lǐ)的(de)USB攝像头(tóu)节(jié)點(diǎn),根(gēn)據(jù)具體(tǐ)設備号(hào)修改tree_demo.py

ls /dev/video*

## 運行demo

python3 tree_demo.py ../../data/owl_image_encoder_patch32.engine

等待模型加载(zài),加载(zài)成(chéng)功如(rú)下(xià)图(tú)所(suǒ)示

图(tú)片

5.在(zài)PC主(zhǔ)机或(huò)者(zhě)ALP-606上(shàng)打(dǎ)開(kāi)浏覽器進(jìn)入(rù)http://<ip address>:7860

可(kě)以看(kàn)到(dào)攝像头(tóu)的(de)實(shí)时(shí)画面(miàn),在(zài)下(xià)方(fāng)編輯欄內(nèi)填入(rù)想(xiǎng)要(yào)識别的(de)物(wù)體(tǐ)種(zhǒng)类名(míng)稱,如(rú)

[a face [a nose, an eye, a mouth]]或(huò)[a chair [a cellphone]]

此(cǐ)时(shí)会(huì)在(zài)實(shí)时(shí)画面(miàn)上(shàng)能(néng)看(kàn)到(dào)想(xiǎng)要(yào)識别的(de)目标(biāo)框

图(tú)片

結論

通(tòng)过(guò)这(zhè)个(gè)簡單的(de)指南(nán),你已經(jīng)可(kě)以成(chéng)功地(dì)在(zài) Jetson Orin NX 上(shàng)部(bù)署(shǔ) NanoOWL 大(dà)模型。在(zài)實(shí)際生(shēng)産环(huán)境中(zhōng),确保進(jìn)行性(xìng)能(néng)優化(huà)和(hé)安(ān)全(quán)性(xìng)評估,以滿足您的(de)實(shí)際應(yìng)用(yòng)需求。

希望这(zhè)篇(piān)指南(nán)对您在(zài)Jetson Orin NX上(shàng)部(bù)署(shǔ)大(dà)模型有(yǒu)所(suǒ)幫助。

 leetop 提(tí)供一(yī)系(xì)列支撐邊(biān)緣计算和(hé)大(dà)模型部(bù)署(shǔ)的(de)衆多(duō)方(fāng)案(àn) ,並(bìng)支持(chí)産品定(dìng)制化(huà)

图(tú)片

如(rú)果(guǒ)您有(yǒu)任何需求或(huò)者(zhě)疑問(wèn)和(hé)反饋,歡迎在(zài)評論中(zhōng)留言或(huò)者(zhě)直(zhí)接聯系(xì)我(wǒ)们(men).

GTC 2024 将于(yú) 2024 年(nián) 月(yuè) 18 至(zhì) 21 日(rì)在(zài)美(měi)國(guó)加州圣何塞会(huì)议中(zhōng)心舉行,線(xiàn)上(shàng)大(dà)会(huì)也(yě)将同(tóng)期開(kāi)放(fàng)。掃描下(xià)方(fāng)海(hǎi)報二(èr)維碼,立即注册(cè) GTC 大(dà)会(huì)。


图(tú)片