【jetson orin】Jetson Containers介紹安裝與應用

tooooolan發表於2024-10-23

Machine Learning Containers for Jetson and JetPack

專案地址:專案倉庫

介紹:
他的用途大概是幫助開發者快速的構建和執行一些docker映象,比如ollama、llama-factory等熱門專案都支援。在執行和構建的過程中針對jetson有做相當的最佳化。所以建議使用jetson容器去執行各個開源框架,儘可能的釋放效能。

裝置:jetson Orin NX 16G

環境:

安裝步驟:

cd /opt/
git clone https://github.com/dusty-nv/jetson-containers
bash jetson-containers/install.sh

使用示例:

# 互動模式執行ollama
jetson-containers run $(autotag ollama)

命令列列印:

Namespace(packages=['ollama'], prefer=['local', 'registry', 'build'], disable=[''], user='dustynv', output='/tmp/autotag', quiet=False, verbose=False)
-- L4T_VERSION=36.3.0  JETPACK_VERSION=6.0  CUDA_VERSION=12.2
-- Finding compatible container image for ['ollama']
ollama:r36.3.0
V4L2_DEVICES: 
/opt/jetson-containers/run.sh: line 307: /tmp/nv_jetson_model: Is a directory
+ docker run --runtime nvidia -it --rm --network host --shm-size=8g --volume /tmp/argus_socket:/tmp/argus_socket --volume /etc/enctune.conf:/etc/enctune.conf --volume /etc/nv_tegra_release:/etc/nv_tegra_release --volume /tmp/nv_jetson_model:/tmp/nv_jetson_model --volume /var/run/dbus:/var/run/dbus --volume /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket --volume /var/run/docker.sock:/var/run/docker.sock --volume /opt/jetson-containers/data:/data -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --device /dev/snd --device /dev/bus/usb --device /dev/i2c-0 --device /dev/i2c-1 --device /dev/i2c-2 --device /dev/i2c-4 --device /dev/i2c-5 --device /dev/i2c-7 --device /dev/i2c-9 -v /run/jtop.sock:/run/jtop.sock --name jetson_container_20241023_163301 ollama:r36.3.0

注意最後的docker命令,Jetson Containers本身不執行容器,他是構建出一些啟動命令傳送到docker。實際上執行容器的還是docker,只是執行的映象是最佳化過的。如果有需要可以複製出來做成compose檔案也可以。

後臺執行:

# 跟docker命令一樣,最後都會拼接到啟動命令中。
# 靠後的命令會覆蓋前面的,所以不用擔心報錯,把想要的命令拼上去就行
jetson-containers run -d --name=ollama $(autotag ollama)

相關文章