一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

配置Python開(kāi)發(fā)環(huán)境的DeepStream容器

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來(lái)源:NVIDIA英偉達(dá)企業(yè)解決方案 ? 作者:NVIDIA英偉達(dá)企業(yè)解 ? 2022-08-12 11:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

對(duì)于熟悉 C++ 的開(kāi)發(fā)人員來(lái)說(shuō),前一篇文章將 DeepStreamSamples 版容器的范例搬到本機(jī)上,再搭配 Docker 路徑映射方式就能輕松搭建開(kāi)發(fā)環(huán)境。但這種方式只適用于 C / C++ 范例,并不適用于 DeepStream 的 Python 環(huán)境,因?yàn)檫€需要安裝 Gstreamer 的 Gst-Python 與 DeepStream 的 PyBinding 與兩個(gè)元件。

我們可以在容器內(nèi)安裝這兩個(gè)元件,但是前面提供的 Docker 指令中使用 “--rm” 參數(shù),一旦退出容器之后就會(huì)銷(xiāo)毀這個(gè)調(diào)試好的環(huán)境,這對(duì)于使用來(lái)說(shuō)是非常不方便的,因此必須做出調(diào)整,將調(diào)試好的環(huán)境保留下來(lái),甚至于存成一個(gè)獨(dú)立的鏡像文件,就能方便日后的重復(fù)使用或移植工作。

1、將容器調(diào)整為 “后臺(tái)運(yùn)行” 執(zhí)行:

在 NGC 官方提供的指令中使用 “--it” “--rm” 是為了能快速啟用容器,并且在使用完畢后刪除容器以避免占用不必要的資源,現(xiàn)在我們來(lái)做以下調(diào)整:

  • “-it” 參數(shù)改成 “-id”參數(shù):這樣雖然不會(huì)第一時(shí)間進(jìn)入容器內(nèi)執(zhí)行,但是會(huì)讓這個(gè)容器在后臺(tái)運(yùn)行,并且打印容器 ID,后面在使用 “dockerexec” 指令來(lái)進(jìn)入容器操作,這是個(gè)非常實(shí)用的方式,大家可以好好學(xué)習(xí)使用方法;

  • 去除 “--rm” 參數(shù):退出容器之后自動(dòng)移除;

  • 添加 “--name” 參數(shù):為了便于管理,不需要去面對(duì)長(zhǎng)達(dá) 12 碼的容器編號(hào),我們可以用這個(gè)參數(shù)去指定容器名稱(chēng),方便后面的操作;

  • 為了配合Python的iot應(yīng)用范例,建議選擇iot版容器的適用性會(huì)比較高。

現(xiàn)在試著執(zhí)行以下指令,創(chuàng)建一個(gè)要配置 Python 開(kāi)發(fā)環(huán)境的 DeepStream 容器:

docker run -id --name=ds_python --net=host  --runtime=nvidia  -e DISPLAY=$DISPLAY -w  /opt/nvidia/deepstream/deepstream  -v /tmp/.X11-unix/:/tmp/.X11-unix -v  ~/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources -v  ~/deepstream/samples:/opt/nvidia/deepstream/deepstream/samples nvcr.io/nvidia/deepstream-l4t:6.1-iot

執(zhí)行之后,會(huì)發(fā)現(xiàn)命令終端并未進(jìn)入容器里面,依舊在本機(jī)(容器外)的狀態(tài),現(xiàn)在執(zhí)行 “docker ps” 指令,會(huì)看到如以下的狀態(tài):

21fb054e-19eb-11ed-ba43-dac502259ad0.png

2216237e-19eb-11ed-ba43-dac502259ad0.png

這里顯示有個(gè)名為 “ds_python” 的容器處于運(yùn)行狀態(tài),但是我們還沒(méi)有進(jìn)入這個(gè)容器的操作環(huán)境中。

2、使用 docker exec 指令進(jìn)入容器:

現(xiàn)在以 deepstream-l4t:6.1-iot 創(chuàng)建的 ds_python 容器已經(jīng)在后臺(tái)啟動(dòng),我們只要使用 “docker exec” 指令就能進(jìn)入容器內(nèi)操作,請(qǐng)執(zhí)行以下指令:

docker  exec  -it  ds_python  bash

這樣就能進(jìn)到容器里面。現(xiàn)在試試在容器內(nèi)做些事情,例如創(chuàng)建一個(gè)目錄、添加一個(gè)文件,然后執(zhí)行 “exit” 退出容器,然后再執(zhí)行前面的指令重新進(jìn)入容器內(nèi),檢查看看剛剛所做的修改應(yīng)該還存在,這樣就能確保我們?yōu)槿萜靼惭b的內(nèi)容可以保留。

3、重啟系統(tǒng)之后的容器啟動(dòng):

這種容器創(chuàng)建的方式,在系統(tǒng)重啟之后還能保留前面的設(shè)定嗎?重啟一次系統(tǒng)就知道了,然后執(zhí)行 “docker ps” 指令檢查狀態(tài),發(fā)現(xiàn)看不到前面所創(chuàng)建的 ds_python 容器了,怎么辦呢?

不用緊張,現(xiàn)在執(zhí)行 “docker ps -a” 指令,就會(huì)發(fā)現(xiàn)這個(gè)容器依舊存在于背景資源中,只是沒(méi)有啟動(dòng)而已,現(xiàn)在執(zhí)行以下指令:

docker  start  ds_pythondockerps

現(xiàn)在再重新執(zhí)行下面指令,就能進(jìn)入容器里:

docker  exec  -it  ds_python  bash

再檢查看看前面所做的修改是否依然存在?現(xiàn)在就能確認(rèn)這種方式能將容器的修改長(zhǎng)期保留,是一種更加實(shí)在的用法。

4、為容器安裝 Python 開(kāi)發(fā)環(huán)境:

現(xiàn)在可以在容器內(nèi)按照 <https://github.com/NVIDIA-AI-IOT/deepstream_python_apps>“HOW-TO Guide” 安裝步驟,調(diào)試 DeepStream 的 Python 開(kāi)發(fā)環(huán)境:

  • 安裝依賴(lài)庫(kù):

如果 Jetson 的操作系統(tǒng)是 Ubuntu 20.04(JetPack 5.0 以上),請(qǐng)執(zhí)行以下的依賴(lài)庫(kù)安裝步驟:

apt install python3-gi python3-dev python3-gst-1.0 python-gi-dev git python-dev python3 python3-pip python3.8-dev cmake g++ build-essential libglib2.0-dev libglib2.0-dev-binlibgstreamer1.0-devlibtoolm4autoconfautomakelibgirepository1.0-devlibcairo2-dev

  • 從 GITHUB 倉(cāng)下載源碼到指定目錄:

cd sourcesgit clone https://github.com/NVIDIA-AI-IOT/deepstream_python_appscd deepstream_python_appsgitsubmoduleupdate--init

  • 安裝 Gst-Python

apt update apt-get install -y apt-transport-https ca-certificates -yupdate-ca-certificatescd  3rdparty/gst-python/./autogen.shmake&&makeinstall

  • 安裝PyBinding:

請(qǐng)參照如下鏈接:

現(xiàn)在就完成了 Python 環(huán)境的配置。

5、測(cè)試 Python 范例

要驗(yàn)證環(huán)境是否調(diào)試完成的最簡(jiǎn)單方法,就是執(zhí)行一個(gè)最基礎(chǔ)的 deepstream-test1 范例,請(qǐng)?jiān)谌萜鲀?nèi)執(zhí)行以下指令:

cd  /opt/nvidia/deepstream/deepstream/cd  sources/deepstream_python_apps/apps/deepstream-test1./deepstream_test_1.py../../../../samples/streams/sample_720p.h26

正常運(yùn)行會(huì)看到如下圖的執(zhí)行結(jié)果。

這樣就表示 DeepStream 容器的 Python 開(kāi)發(fā)環(huán)境已經(jīng)安裝成功。

6、重復(fù)使用調(diào)試好的容器:

接下來(lái)就是要將前面調(diào)試好的容器環(huán)境存儲(chǔ)起來(lái),以后就不需要每次調(diào)試一次環(huán)境。這部分分成三個(gè)階段:

(1)臨時(shí)性保存:

事實(shí)上前面使用 “-id” 指令之后,這個(gè)容器就會(huì)一直保留在背景中執(zhí)行,即便重啟系統(tǒng)后也是存在的,如同前面所提供的,只要執(zhí)行以下指令就能重新進(jìn)入這個(gè)容器:

sudo xhost +si:localuser:rootdockerstartds_python&&dockerexec-itds_pythonbash

(2)儲(chǔ)存成 Docker 鏡像:

現(xiàn)在需要在打開(kāi)一個(gè)命令終端,使用 “docker commit <容器名> <鏡像名>” 指令,將目前執(zhí)行的容器存成一個(gè)鏡像,請(qǐng)執(zhí)行以下指令:

docker  commit  ds_python  deepstream-l4t:6.1-python

現(xiàn)在執(zhí)行 “docker images” 指令,可以看到多了一個(gè) “deepstream-l4t:6.1-python” 鏡像,如下圖所示:

227771ec-19eb-11ed-ba43-dac502259ad0.png

只要不重裝系統(tǒng)或者刪除這個(gè)鏡像,那么這個(gè)鏡像就會(huì)一直保留在系統(tǒng)里面,以后如果需要再次使用,只要執(zhí)行以下指令即可:

sudo xhost +si:localuser:rootsudodockerrun-it--rm--net=host--runtimenvidia-eDISPLAY=$DISPLAY-w/opt/nvidia/deepstream/deepstream-v/tmp/.X11-unix/:/tmp/.X11-unix-v~/nvme/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources-v~/nvme/deepstream/samples:/opt/nvidia/deepstream/deepstream/samplesdeepstream-l4t:6.1-python

或者可以同時(shí)啟動(dòng)多個(gè)獨(dú)立的 Python 環(huán)境 DeepStream 容器,如下指令:

sudo xhost +si:localuser:rootsudodockerrun-id--name=ds_python2--net=host--runtimenvidia-eDISPLAY=$DISPLAY-w/opt/nvidia/deepstream/deepstream-v/tmp/.X11-unix/:/tmp/.X11-unix-v~/nvme/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources-v~/nvme/deepstream/samples:/opt/nvidia/deepstream/deepstream/samplesdeepstream-l4t:6.1-python

(3)導(dǎo)出成文件:

最保險(xiǎn)的方式,就是將這個(gè) deepstream-l4t:6.1-python 鏡像導(dǎo)出成文件,自行保存好,這樣即便系統(tǒng)重新安裝后,也能直接從這個(gè)文件載入鏡像,然后開(kāi)啟工作容器:

# 將鏡像導(dǎo)出成文件sudo  docker  save  deepstream-l4t:6.1-python  -o  jp50dp_ds61_python# 將文件載入成鏡像sudodockerload-ijp50dp_ds61_python

現(xiàn)在,這個(gè)導(dǎo)出的 jp50dp_ds61_python 壓縮文件,也能部署到其他 JetPack5.0 DP 所安裝的 Jetson 設(shè)備上使用,不需要在每臺(tái)機(jī)器上重復(fù)調(diào)試 Python 開(kāi)發(fā)環(huán)境。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106418
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    511

    瀏覽量

    22457
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86761

原文標(biāo)題:NVIDIA Jetson 系列文章(7):配置DS容器Python開(kāi)發(fā)環(huán)境

文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    python環(huán)境變量的配置pip

    Python環(huán)境變量的配置和使用是每個(gè)Python開(kāi)發(fā)者都需要了解和掌握的基本技能之一。在本文中,我們將詳細(xì)介紹如何正確
    的頭像 發(fā)表于 12-15 15:41 ?3179次閱讀

    python開(kāi)發(fā)環(huán)境

    誰(shuí)有python開(kāi)發(fā)環(huán)境,32位的軟件開(kāi)發(fā)環(huán)境,誰(shuí)可以提供一下,謝謝!
    發(fā)表于 01-09 20:39

    構(gòu)建Python開(kāi)發(fā)環(huán)境的方法

    本系列教程將向大家講述,在自己的計(jì)算機(jī)上構(gòu)建完善的嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的方法。本文將向大家講述構(gòu)建Python開(kāi)發(fā)環(huán)境的方法。
    發(fā)表于 11-08 08:01

    1.2 Python 開(kāi)發(fā)環(huán)境的搭建

    運(yùn)行后,在下面就會(huì)彈出一個(gè) Run 窗口,你在執(zhí)行 Python 腳本時(shí),所有的輸出內(nèi)容,都會(huì)出現(xiàn)在這里。至此, PyCharm 這個(gè)非常好用的集成開(kāi)發(fā)環(huán)境配置完成了,后面我們就要正
    發(fā)表于 02-16 18:29

    python如何配置虛擬環(huán)境

    python 的虛擬環(huán)境可以為一個(gè) python 項(xiàng)目提供獨(dú)立的解釋環(huán)境、依賴(lài)包等資源,既能夠很好的隔離不同項(xiàng)目使用不同 python 版本
    發(fā)表于 01-07 17:12 ?1096次閱讀

    推薦幾種好用的Python集成開(kāi)發(fā)環(huán)境

    歡迎。它是一個(gè)開(kāi)源軟件并遵循GPL協(xié)議,所以你可以免費(fèi)的使用它。雖然VIM是最好的文本編輯器,但是它提供的功能不亞于此,經(jīng)過(guò)正確的配置后它可以成為一個(gè)全功能的Python開(kāi)發(fā)環(huán)境。此外
    發(fā)表于 02-15 17:43 ?791次閱讀

    Python語(yǔ)言介紹及開(kāi)發(fā)環(huán)境

    Python語(yǔ)言介紹及開(kāi)發(fā)環(huán)境說(shuō)明。
    發(fā)表于 04-26 09:51 ?11次下載

    Python版test1實(shí)戰(zhàn)說(shuō)明

    上一篇文章已經(jīng)帶著大家安裝 DeepStreamPython 開(kāi)發(fā)環(huán)境,并且執(zhí)行最簡(jiǎn)單的 deepstream-test1.py,讓大
    的頭像 發(fā)表于 10-09 14:28 ?2077次閱讀

    DeepStream Samples版的操作環(huán)境調(diào)試過(guò)程

    NVIDIA 的 DeepStream 是目前業(yè)界最好開(kāi)發(fā)而且功能強(qiáng)大的 AI 視頻分析工具,在 NGC 上 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstrea
    的頭像 發(fā)表于 08-03 10:18 ?1884次閱讀

    DeepStream容器執(zhí)行Python開(kāi)發(fā)操作

    前面一篇文章已經(jīng)帶著大家將 DeepStream 容器配置 Python 使用環(huán)境,本文的重點(diǎn)就是繼續(xù)執(zhí)行實(shí)際的
    的頭像 發(fā)表于 08-17 10:22 ?2364次閱讀

    容器接入U(xiǎn)SB攝像頭

    前面教大家使用 DeepStream 的 Docker 鏡像去創(chuàng)建自己的 Python 工作環(huán)境,其好處是即使 Jetson 設(shè)備需要使用 JetPack 重新安裝系統(tǒng),我們只要重新啟動(dòng)這個(gè) Docker
    的頭像 發(fā)表于 08-31 09:35 ?2002次閱讀

    如何測(cè)試Python環(huán)境

    在編程中,測(cè)試是一項(xiàng)重要的工作,可以幫助我們驗(yàn)證代碼的正確性和穩(wěn)定性。在Python編程環(huán)境中,同樣需要進(jìn)行測(cè)試來(lái)確保Python的安裝和配置是正確的。在本篇文章中,我們將介紹如何測(cè)試
    的頭像 發(fā)表于 04-14 12:14 ?5605次閱讀

    如何配置Python環(huán)境變量

    配置Python環(huán)境變量是在安裝Python解釋器后的一項(xiàng)重要步驟,它允許您在任何位置都可以通過(guò)命令行或腳本運(yùn)行Python解釋器,使
    的頭像 發(fā)表于 04-14 12:16 ?2.1w次閱讀

    pycharm怎么配置python環(huán)境變量

    PyCharm 是一種以 Python 為主的集成開(kāi)發(fā)環(huán)境 (IDE),它提供了一系列的功能用于開(kāi)發(fā)、調(diào)試、測(cè)試和部署 Python 程序。
    的頭像 發(fā)表于 11-29 14:56 ?3583次閱讀

    python運(yùn)行環(huán)境的安裝和配置

    Python是一種非常流行的編程語(yǔ)言,廣泛應(yīng)用于科學(xué)計(jì)算、Web開(kāi)發(fā)、人工智能等領(lǐng)域。為了能夠正常運(yùn)行Python程序,我們需要先安裝和配置Pyth
    的頭像 發(fā)表于 11-29 16:17 ?1681次閱讀