日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nvidia Jetson AGX Orin 初体验

發(fā)布時間:2024/3/13 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nvidia Jetson AGX Orin 初体验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、開箱

Nvidia Jetson AGX Orin是今年Nvidia推出的唯一的開發(fā)套件,相比Jetson Nano 472GFLOP算力、Jetson Xaiver 32TOPS(INT8)算力,它的算力達(dá)到了200 TOPS左右。也就是說,幾乎相當(dāng)于目前主流設(shè)備的8-10倍的算力。這就讓張小白有點動心了。于是,張小白天天啃包子省吃儉用,攢下了一臺設(shè)備的價錢,并火速將設(shè)備拿到了手。

說實話,拿到這樣的箱子著實有點害怕,畢竟里面的東西不便宜。然而,打開包裝,并進行消毒之后:

這么方方正正的盒子,確實讓人有點放心了。

我們四周看一看:

側(cè)面和底面都有封條。

有一側(cè)寫著設(shè)備的各種指標(biāo)。

于是張小白用裁紙刀開箱:

映入眼簾的是個像音響一樣的東西。

拿出來一看:

銀灰色的機身,里面的大風(fēng)扇隱約可見。

這是右面——正確的一面(Right View),對應(yīng)說明書:

分別是 電源鍵(Power),強制恢復(fù)鍵(Force Recovery)和重置鍵(Reset)。還有個TF卡的插槽。

右面旁邊的一面叫背面(Back View):

對比說明書:

分別是:

(1)USB Type-C,這個接口是接電源的地方。

(2)DC Power是很奇怪的接口,好像目前并沒有接頭能插進去。

(3)有線網(wǎng)口

(4)上下錯落著2個USB 3.2的接口,張小白打算用來接鍵盤和鼠標(biāo)

(5)DisplayPort,是目前唯一的顯示器接口

(6)Micro USB的接口,大概是可以用作串口吧。

背面旁邊的一面看起啥也沒有:

對比說明書:

你可以把它輕輕掀開:

有一個PCIe的接口,殼子上還有2根WiFI天線,說明它是自帶無線網(wǎng)卡的。

再轉(zhuǎn)過去,就到了正面(Front View):

左邊是個Type-C接口,中間是40Pin接口,右邊是兩個USB3.2的接口。

我們再悄悄看看底面:

有個接M2的硬盤接口,有2個攝像頭的接口。右下角應(yīng)該是前面看到的TF卡槽。這塊板子好像還是Made in China。

我們把裝Orin設(shè)備的盒子拿出去后:

下面還有個附件的盒子:

打開看看:

上面是說明書(剛才拍過了)和電源適配器,下面是幾股線纜:

有USB轉(zhuǎn)Type=C的線,估計可以用接電腦。

下面是三根電源線:

根據(jù)電源插頭的不同,估計是美標(biāo),英標(biāo)插頭之類的。反正有中國的插頭就行:

AC電源適配器,也是中國制造。

電源適配器的另一頭是Type-C插頭,所以應(yīng)該是接上前面Right View左上角那個Type-C的接口。

DisplayPort的接口有點奇怪:

好在張小白的小米曲面屏顯示器有這個接口,張小白也有這跟DP線:

開箱到此結(jié)束。

二、開機

張小白打開說明書提供的鏈接:

只好求助于Nvidia的專家,獲得了這個地址:?https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit

那就根據(jù)這個鏈接來Getting Started吧!

先把各種線接好:

(1)DP接口連顯示器;

(2)電源線連DC口上面的Type-C口;

(3)機械鍵盤和鼠標(biāo)連接2個USB 3.2的接口;

(4)有線網(wǎng)口暫時不接,因為有無線網(wǎng)卡。

開機,顯示器切換到DP1:

不一會兒,進入Ubuntu的系統(tǒng)設(shè)置界面:

靠近點看:

accept后點擊continue:

選擇語言——中文(簡體),繼續(xù):

連接無線網(wǎng)絡(luò),選擇華為路由器的網(wǎng)絡(luò),點擊 連接:

輸入密碼,connect:

選擇時區(qū)——上海,繼續(xù):

輸入計算機名稱,登陸用戶名和密碼等信息,繼續(xù):

要求輸入分區(qū)大小,看了下提示,輸入0,繼續(xù):

設(shè)置Nvpmodel的Model,先選缺省的,繼續(xù):

問你要不要安裝個瀏覽器,那就裝吧:

耐心等待安裝完畢,點擊Close。

系統(tǒng)會繼續(xù)進行安裝:

直到進入登陸界面:

輸入前面設(shè)置的密碼后進入Ubuntu的桌面:

在彈出的頁面中點擊Skip:

選擇No,點擊Next:

Next:

Done。

系統(tǒng)問要不要升級包:

先選擇Remind Me Later吧。

根據(jù)前面鏈接中的指引,打開終端:

sudo apt dist-upgrade

按Y繼續(xù):

耐心等待upgrade完畢:

查看下內(nèi)存和存儲的情況:

內(nèi)存:

29G左右,估計是32G的內(nèi)存。還有交換分區(qū)14G左右,估計是16G。。這個數(shù)字硬件廠商各有統(tǒng)計尺度,此處先不深究。

32G內(nèi)存國外售價是899美元。國內(nèi)的價格暫時不談。。說多了都是淚。

存儲:

大概是64G的存儲,這跟標(biāo)稱的eMMC存儲大小基本一致。

我們開始裝Jetpack。據(jù)官方要求,Orin設(shè)備需要安裝Jetpack 5.0。

sudo apt install nvidia-jetpack

咦?

看了下 /etc/apt/sources.list.d/nvidia-l4t-apt-source.list 文件:

這個源居然找不掉Jetpack包。。。

張小白又匆匆開始搜索,終于在Nvidia論壇發(fā)現(xiàn)了一個答案:

也就是需要將 r34.0改為r34.1才行,就如法炮制:

重新執(zhí)行 sudo apt install nvidia-jetpack

按Y繼續(xù):

好像報了個錯。應(yīng)該是服務(wù)器不大好連。確實nvidia的服務(wù)器不大容易連,那就反復(fù)多試幾次:

耐心等待結(jié)束:

再試一次:

嗯。不用試了。應(yīng)該是安裝完畢了。

根據(jù)官方說明,Jetpack 5.0包含以下組件:

它們的安裝位置如下:

現(xiàn)在檢查下目前安裝的軟件版本:

gcc和g++:9.4.0

CUDA的nvcc編譯器:11.4

編輯~/.bashrc

source后生效:

這樣就可以在任何地方編譯CUDA的代碼了。

opencv:4.5

Python:3.8.10,沒有裝PIP:

那就裝一下吧。

先安裝curl:

再用curl下載get-pip.py:

然后安裝pip:

好了,Orin基礎(chǔ)環(huán)境的安裝就先介紹到這里吧。

三、開練

基礎(chǔ)軟件安裝完畢后,當(dāng)然是對這個設(shè)備做一些簡單的深度學(xué)習(xí)嘗試了。張小白曾經(jīng)寫過一篇:

張小白:Nvidia Jetson Nano B01初體驗1 贊同 · 0 評論文章正在上傳…重新上傳取消

現(xiàn)在就依葫蘆畫瓢,看看Orin的表現(xiàn)如何:

LeNet是典型的手寫數(shù)字識別網(wǎng)絡(luò),常用于深度學(xué)習(xí)初學(xué)者的入門,先用它來試一下:

1、cudnn_sample

cudnn_sample 內(nèi)置了一個LeNet網(wǎng)絡(luò)的測試,我們來試一下:

先更新下源:

cd /usr/src/cudnn_samples_v8/mnistCUDNN/

開始編譯:

sudo make

發(fā)現(xiàn)需要安裝一些系統(tǒng)依賴包:sudo apt-get install libfreeimage3 libfreeimage-dev

安裝完畢后重新編譯:

進行測試:

從上面的例子可以看出,相關(guān)的圖片識別成為1、3、5,識別成功。

2、使用TensorFlow+Keras實現(xiàn)LeNet訓(xùn)練

安裝系統(tǒng)依賴包:

sudo apt-get install python3-numpy

sudo apt-get install python3-scipy

sudo apt-get install python3-pandas

sudo apt-get install python3-matplotlib

sudo apt-get install python3-sklearn

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran

sudo apt-get install python3-pip

安裝PIP依賴包:

sudo pip3 install -U --no-deps numpy==1.19.4 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 -i?https://pypi.tuna.tsinghua.edu.cn/simple

sudo env H5PY_SETUP_REQUIRES=0 pip3 install -U h5py==3.1.0

查看下JetPack 5.0 TensorFlow安裝盤的地址:

安裝TensorFlow1.15:

sudo pip3 install --pre --extra-index-url?https://developer.download.nvidia.com/compute/redist/jp/v50?'tensorflow<2'

檢查TensorFlow是否成功安裝:

安裝Keras并檢查是否成功安裝:

sudo pip3 install keras

準(zhǔn)備 keras_lenet.py這個訓(xùn)練LeNet網(wǎng)絡(luò)的Python代碼:(代碼來源:https://blog.csdn.net/mr_muli/article/details/80992600?作者:木里先森)

# -*- coding: utf-8 -*- """ Created on Tue Jul 10 20:04:03 2018@author: muli """import tensorflow.keras from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten, Conv2D, MaxPooling2D from tensorflow.keras import backend as Knum_classes = 10 img_rows, img_cols = 28, 28# 通過Keras封裝好的API加載MNIST數(shù)據(jù)。其中trainX就是一個60000 * 28 * 28的數(shù)組, # trainY是每一張圖片對應(yīng)的數(shù)字。 (trainX, trainY), (testX, testY) = mnist.load_data()# 根據(jù)對圖像編碼的格式要求來設(shè)置輸入層的格式。 if K.image_data_format() == 'channels_first':trainX = trainX.reshape(trainX.shape[0], 1, img_rows, img_cols)testX = testX.reshape(testX.shape[0], 1, img_rows, img_cols)input_shape = (1, img_rows, img_cols) else:trainX = trainX.reshape(trainX.shape[0], img_rows, img_cols, 1)testX = testX.reshape(testX.shape[0], img_rows, img_cols, 1)input_shape = (img_rows, img_cols, 1)trainX = trainX.astype('float32') testX = testX.astype('float32') trainX /= 255.0 testX /= 255.0# 將標(biāo)準(zhǔn)答案轉(zhuǎn)化為需要的格式(one-hot編碼)。 trainY = tensorflow.keras.utils.to_categorical(trainY, num_classes) testY = tensorflow.keras.utils.to_categorical(testY, num_classes) # 2. 通過Keras的API定義卷積神經(jīng)網(wǎng)絡(luò) # 使用Keras API定義模型。 model = Sequential() model.add(Conv2D(32, kernel_size=(5, 5), activation='relu', input_shape=input_shape)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(64, (5, 5), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Flatten()) model.add(Dense(500, activation='relu')) model.add(Dense(num_classes, activation='softmax'))# 定義損失函數(shù)、優(yōu)化函數(shù)和評測方法。 model.compile(loss=tensorflow.keras.losses.categorical_crossentropy,optimizer=tensorflow.keras.optimizers.SGD(),metrics=['accuracy'])# 3. 通過Keras的API訓(xùn)練模型并計算在測試數(shù)據(jù)上的準(zhǔn)確率 model.fit(trainX, trainY,batch_size=128,epochs=10,validation_data=(testX, testY))# 在測試數(shù)據(jù)上計算準(zhǔn)確率。 score = model.evaluate(testX, testY) print('Test loss:', score[0]) print('Test accuracy:', score[1])

執(zhí)行LeNet模型的訓(xùn)練代碼:

該Python腳本會下載MNIST數(shù)據(jù)集,然后開始加載訓(xùn)練參數(shù):

然后進行訓(xùn)練:

經(jīng)過了幾輪訓(xùn)練,準(zhǔn)確率提高到了0.9821,loss降低到了0.0597左右。可見,Jetson AGX Orin在LeNet網(wǎng)絡(luò)的運行結(jié)果,跟Jetson Nano是幾乎一樣的。當(dāng)然,我們現(xiàn)在不涉及測試性能。

以上就是張小白初體驗Jetson AGX Orin設(shè)備的過程,還有更多的內(nèi)容需要張小白一一去挖掘呢!

(全文完,謝謝閱讀)

總結(jié)

以上是生活随笔為你收集整理的Nvidia Jetson AGX Orin 初体验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。