- Ubuntu 20.04 LTS Desktop 系統(tǒng)安裝
- 中文輸入法
- Python 開發(fā)環(huán)境
- C++ 開發(fā)環(huán)境
- CUDA 工具包
- CuDNN
- 張量RT
- 碼頭工人
- FFmpeg
- 流星
- OpenCV 源代碼編譯
- 深流
- 更多
1. Ubuntu 20.04 LTS Desktop 系統(tǒng)安裝
-
下載Ubuntu20.04 LTS Desktop桌面版 鏡像 -
下載balanceEtcher USB 鏡像工具 -
1個8 GB左右的USB(提供前份) -
打開鏡像工具,依次添加ISO鏡像文件,選擇USB,單擊Flash!生成鏡像 -
重新啟動電腦,進入BIOS修改啟動順序,將USB啟動工作為最高優(yōu)先級。不同型號進入BIOS方式:
- 華擎:F2 或 DEL
- 華碩:F2 用于所有 PC,F(xiàn)2 或 DEL 用于主板
- 宏碁:F2 或 DEL
- 戴爾:F2 或 F12
- ECS : 刪除
- 千兆通過te / Aorus : F2 或 DEL
- 惠普:F10
- Lenovo(消費類筆記本電腦):F2 或 Fn + F2
- 聯(lián)想(臺式機):F1
- Lenovo (ThinkPads):輸入然后按 F1。
- MSI : DEL 用于主板和 PC
- Microsoft Surface 平板電腦:按住提高音量按鈕。
- 原始電腦:F2
- 三星:F2
- 東芝:F2
- 索泰:DEL
具體的安裝步驟就不贅述了,只需要注意以下幾點即可:
- 到安裝類型頁面時,選擇
Something else 選項進入分區(qū)頁面 - 創(chuàng)建EFI分區(qū):500 MB
- 創(chuàng)建swap分區(qū):和實際內存一樣,比如實際16GB內存,則分配16*1024=16384MB
- 創(chuàng)建ext4
/ 掛載點
2. 安裝后配置
中文輸入法 Ubuntu 系統(tǒng)只推薦搜索狗輸入法,其他的都是坑。根據(jù)官網教程安裝即可,安裝后需要重新啟動。
截圖工具 推薦安裝Flameshot :
sudo apt install flameshot
安裝完成后,打開Settings -> Keyboard Shortcuts,拉到最下面,點擊' + '按鍵:
- 姓名:任意名字
- 命令:
/usr/bin/flameshot gui - Shortcut: 按鍵綁定到自己喜歡的鍵,本文件綁定了
F1
更換清華源 清華源鏡像站,選擇Ubuntu原版后恢復制作源,不想登錄的也可以直接連接制作:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo gedit /etc/apt/sources.list
# 默認注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb https://mirrors.tuna./ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna./ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna./ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna./ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-security main restricted universe multiverse
# 預發(fā)布軟件源,不建議啟用
# deb https://mirrors.tuna./ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna./ubuntu/ focal-proposed main restricted universe multiverse
3. Python開發(fā)環(huán)境
3.1 Anaconda 虛擬環(huán)境
官網下載Miniconda3 Linux 64-bit腳本,本文選擇了Python 3.8版本。該版本是指虛擬環(huán)境中的默認Python版本,與系統(tǒng)的Python版本無關。
cd ~/Downloads
bash Miniconda3-py38_4.12.0-Linux-x86_64.sh
安裝過程序中根據(jù)提示輸入即可:
Please, press ENTER to continue : 按回車鍵End User License Agreement - Miniconda :q 按鍵退出Do you accept the license terms? [yes|no] : 輸入yes [/home/sparkai/miniconda3] >>> : 回車Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no] : 輸入yes
注:最后一行輸入后,今后每次打開Terminal 都會自動初始化base 虛擬環(huán)境,可以輸入命令關閉:
conda config --set auto_activate_base false
Conda 常用命令
- 創(chuàng)造環(huán)境:
conda create -n <環(huán)境名> python=3.8 - 顯示環(huán)境:
conda env list - 刺激環(huán)境:
conda activate <環(huán)境名> - 退出環(huán)境:
conda deactivate - 選擇貝環(huán)境:
conda create -n <環(huán)境名> --clone <舊環(huán)境名> - 刪除環(huán)境:
conda remove -n <環(huán)境名> --all
3.2 Pycharm 專業(yè)版(收費) / 社區(qū)版(免費)
可以從官網下載(麻煩),或者使用Ubuntu命令安裝(容易):
# 專業(yè)版
sudo snap install pycharm-professional --classic
# 社區(qū)版
sudo snap install pycharm-community --classic
4. C/C++ 開發(fā)環(huán)境
4.1 編譯環(huán)境,一條命令完全搞定:
- GNC C 編譯器
- GNC C++ 編譯器
- GNC C 庫
- 健安喜品牌
sudo apt install build-essential
4.2 克里昂
官網下載或運行命令:
sudo snap install clion --classic
4.3 制作
可以使用命令安裝sudo apt install cmake ,雖然簡單,但一般版本都落后很多。使用下面任一種方法安裝最新版CMake。
4.3.1 預編譯文件
進入官網,在Binary distributions下,找到Linux x86_64對應的.tar.gz文件并下載(寫本時代CMake的版本是3.23.2。運行命令安裝:
cd ~/Downloads
tar zxvf cmake-3.23.2-linux-x86_64.tar.gz
sudo mv cmake-3.23.2-linux-x86_64 /opt/cmake-3.23.2
rm cmake-3.23.2-linux-x86_64.tar.gz
# 如果使用 cmake-gui,也創(chuàng)建一個軟鏈接既可
sudo ln -s /opt/cmake-3.23.1/bin/cmake /usr/bin/cmake
4.3.2 源代碼編譯
極少數(shù)情況可能需要進入源碼編譯,在Source distributions下面根據(jù)操作系統(tǒng)下載對應的源碼,本例是cmake-3.23.2.tar.gz。運行命令安裝:
cd ~/Downloads
tar zxvf cmake-3.23.1.tar.gz
cd cmake-3.23.1/
sudo apt install libssl-dev
./bootstrap -- -DCMAKE_BUILD_TYPE:STRING=Release
make -j$(nproc)
sudo make install
安裝完成后別忘記了實驗證明一下:cmake --version
5. NVIDIA CUDA 工具包
5.1 NVIDIA驅動安裝
雖然CUDA Toolkit包含了驅動,但是為了安裝特定版本的驅動,本文將驅動安裝單獨出來。
安裝步驟:
- 從官網下載510.47.03版驅動(Deepstream 6.1需求),或執(zhí)行命令:
cd ~/Downloads
wget https://us.download./XFree86/Linux-x86_64/510.47.03/NVIDIA-Linux-x86_64-510.47.03.run
cd ~/Downloads
chmod 755 NVIDIA-Linux-x86_64-510.47.03.run
sudo ./NVIDIA-Linux-x86_64-510.47.03.run
5.2 CUDA工具包安裝
CUDA是一套集合了驅動、工具庫、軟件開發(fā)套件以及應用程序接口于一體的整體計算平臺。使用CUDA可以使開發(fā)人員受益使用NVIDIA GPU進行高效的并行計算。要使用CUDA, 首先要加入NVIDIA Developer Program,使用郵箱注冊并登錄即可。
5.2.1 安裝前檢查
你當然可以直接進入官網,下載并直接安裝CUDA,但這里還是推薦你進行一些檢查再安裝。
-
檢查顯示卡是否支持 CUDA :
-
檢查系統(tǒng)是否支持CUDA
-
是否安裝 GCC
-
檢查系統(tǒng)內核頭文件
- CUDA驅動要請求運行時的內核版本與安裝時的一致,否則將要重裝CUDA驅動。
- 查看系統(tǒng)內核:
uname -r - 安裝內核頭文件:
sudo apt-get install linux-headers-$(uname -r)
5.2.2 安裝CUDA工具包
CUDA Toolkit中包含了CUDA Driver以及用于構建CUDA應用的工具和庫文件、頭文件等內容。支持兩種安裝方式,可以選擇其中任一種:
- 特定于發(fā)布版本的安裝包(RPM和Deb包)
- 獨立于發(fā)布版的安裝包(runfile packages)
- 可支持很多Linux發(fā)行版,但無法使用特定發(fā)行版的本地包管理系統(tǒng)
由于本文采用了獨立驅動安裝方式,因此這里采用runfile安裝CUDA。Deb安裝方式下一個節(jié)。
Runfile安裝步驟:
cd ~/Downloads
wget https://developer.download./compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run
sudo sh cuda_11.6.1_510.47.03_linux.run
注意:安裝選項中要去掉Driver,因為已經單獨安裝過了。
當看到如下提示時,則安裝成功:
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-11.6/
Please make sure that
- PATH includes /usr/local/cuda-11.6/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.6/lib64, or, add /usr/local/cuda-11.6/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.6/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 510.00 is required for CUDA 11.6 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log
- [重要]添加環(huán)境變化,見5.3節(jié)。
Deb 安裝步驟:
- 下載CUDA Toolkit,依次選擇Linux -> x86_64 -> 20.04 -> deb (local)
網頁給了下載和安裝腳本(這里只下載)。本安裝的版本是CUDA Toolkit 11.6 Update 1。
wget https://developer.download./compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
- [任選] 驗證MD5,CUDA 11.6.1的MD5在這里
md5sum cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb
-
刪除/etc/X11/xorg.conf或將/etc/X11/xorg.conf.d/00-nvidia.conf的內容添加到xorg.conf。CUDA Toolkit 依賴自動生成的xorg.conf文件,如果自定義創(chuàng)建文件存在,那么CUDA驅動無法正常工作。 -
刪掉舊的CUDA Toolkit。若設備之前通過runfile安裝了舊版CUDA Toolkit,則需要必須手動刪掉,Deb安裝的則不能刪掉:
# 刪除 Toolkit runfile
sudo /usr/local/cuda-<版本>/bin/cuda-uninstaller
# 刪除 Driver runfile
sudo /usr/bin/nvidia-uninstall
# 刪除 Deb
sudo apt-get --purge remove <package_name>
- 安裝CUDA:
# 刪除過期簽名秘鑰
sudo apt-key del 7fa2af80`
# 安裝本地倉庫至文件系統(tǒng)
sudo dpkg -i cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb
# 注冊臨時公共 GPG 密鑰
sudo cp /var/cuda-repo-ubuntu2004-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
# 更新倉庫緩存,安裝 CUDA 并重啟
sudo apt-get update
sudo apt-get install cuda
sudo reboot
5.3 配置環(huán)境變量
安裝完成之后,執(zhí)行如下操作
sudo vim /etc/profile.d/cuda-conf.sh
# 增加如下內容
export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
# runfile 安裝還需要增加如下內容
# 64-bit 系統(tǒng)
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 32-bit 系統(tǒng)
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 保存并退出,下次重啟后就會生效了
重新啟動后可以使用nvcc --version 進行驗證。
5.4 刪除 CUDA 和顯卡驅動
要完全刪除 CUDA 和驅動,可以按照命令執(zhí)行。
# 刪除 CUDA Toolkit:
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*"
# 刪除顯卡驅動
sudo apt-get --purge remove "*nvidia*"
sudo apt-get autoremove
6. 英偉達 CuDNN
安裝前從鏈接查看最新的CuDNN依賴的CUDA版本和GPU架構。
與CUDA Toolkit類似,CuDNN同樣提供了多種安裝方法。本文只給出Tar文件安裝方法,該方法具有更好的靈性,更多安裝方法式參考官方教程。
安裝步驟:
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
- 如果你的設備安裝了多個版本的CuDNN,要切換到版本:
sudo update-alternatives --config libcudnn
7. NVIDIA TensorRT
TensorRT 包含EA和GA兩種類型:
- EA:Early-Access,是指發(fā)布版本發(fā)布前的版本,不推薦
- GA:General Available,經過完全測試和穩(wěn)定的發(fā)布版本,推薦
本文使用TensorRT 8.2 GA Update 4版本。同樣的,TensorRT也提供了很多安裝方式,本文只給出Tar文件安裝方法,由于這種方法足夠使多個版本的TensorRT同時安裝可能,因此更靈活。許多其他安裝方法參考官方教程。
安裝步驟:
cd ~/Downloads
sudo tar -zxvf TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz -C /usr/local
sudo ln -s /usr/local/TensorRT-8.2.5.1/ /usr/local/tensorrt
# 修改環(huán)境變量
sudo vim /etc/profile.d/cuda-conf.sh
export LD_LIBRARY_PATH=/usr/local/TensorRT-8.2.5.1/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 安裝 TensorRT 附帶的一系列 Python 工具:
cd /usr/local/tensorrt/python/
python3 -m pip install --user tensorrt-8.2.5.1-cp38-none-linux_x86_64.whl
cd /usr/local/tensorrt/uff/
python3 -m pip install --user uff-0.6.9-py2.py3-none-any.whl
cd /usr/local/tensorrt/graphsurgeon/
python3 -m pip install --user graphsurgeon-0.4.5-py2.py3-none-any.whl
cd /usr/local/tensorrt/onnx_graphsurgeon
python3 -m pip install --user onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
- 試驗證明TensorRT安裝是否成功,你應該不需要任何額外的依賴即可編譯并運行:
cd /usr/local/tensorrt/samples/sampleMNIST
sudo make clean && sudo make
# 運行
../../bin/sample_mnist
7.1 安裝PyCUDA
如果需要使用 TensorRT Python 綁定,則必須安裝PyCUDA。
- 安裝前請確認
nvcc 是否添加到PATH - 執(zhí)行命令安裝:
python3 -m pip install --user 'pycuda<2021.1'
注意:如果你更新了 CUDA,則需要刪除現(xiàn)在有 PyCUDA 然后重新安裝。
8. 碼頭工人
目標 Docker 主推 Docker Desktop 應用,但顯然這不是(大多數(shù))開發(fā)人員需要的。本文件安裝命令執(zhí)行 Docker。官網安裝教程在此。
安裝方式有很多種,本文只給使用增加 docker 庫的方式安裝。
安裝步驟:
- [任選] 完整擔載
docker-desktop (如果有的話):
sudo apt remove docker-desktop
rm -rf ~/.docker/desktop
rm -f ~/.config/systemd/user/docker-desktop.service
rm -f ~/.local/share/systemd/user/docker-desktop.service
sudo rm -f /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
- 載舊版
docker , docker-io , docker-engine (如果有的話):
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
- [任選] 如果要刪除舊的
image , container ,volumes 和customized configuration :
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
- 新的設備在第一次安裝 docker 之前,需要添加倉庫設置:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
# 添加 docker 的 官方 GPG 秘鑰:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download./linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 增加 docker stable 版本到倉庫
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download./linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
安裝前確認:
- 安裝了顯卡驅動 >= 418.81.07 (通過命令檢查:
nvidia-smi ) - GPU 架構 >= Kelper(或計算能力3.0)
- Docker >= 19.03 (可通過命令檢查:
docker --version ) - Linux Kernel > 3.10 (通過命令檢查:
uname -r )
安裝步驟:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia./libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia./libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
9.FFmpeg
Ubuntu 20.04 LTS 默認包含了FFmpeg 4.2.4,可以直接安裝。
9.1 使用包管理器
sudo apt update
sudo apt install ffmpeg
9.2 源碼編譯
TODO
10. Gstreamer
10.1 使用包管理器
如果只是使用 Gstreamer,建議使用這種方式安裝。Gstreamer v1.16.2 已經包含在 Ubuntu 20.04 中,可直接安裝:
sudo apt install libgstreamer1.0-0 gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
# 可選但建議
sudo apt install libgstrtspserver-1.0-0 gstreamer1.0-rtsp gir1.2-gst-rtsp-server-1.0
10.2 源碼安裝
TODO
10.3 安裝 Gst-Python
注意: Python libs not found when configure
安裝步驟:
sudo 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-bin libgstreamer1.0-dev libtool m4 autoconf automake libgirepository1.0-dev libcairo2-devsu
cd ~/Downloads
git clone https://github.com/GStreamer/gst-python.git
cd gst-python
git checkout 5343aeb
export GST_LIBS="-lgstreamer-1.0 -lgobject-2.0 -lglib-2.0"
export GST_CFLAGS="-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include"
./autogen.sh PYTHON=/usr/bin/python3
./configure PYTHON=/usr/bin/python3
make -j$(nproc)
sudo make install
11. OpenCV with CUDA
本文將從源碼編譯并安裝 OpenCV 4.2.0 ,包含 C++ 和 Python 綁定,支持 CUDA 和 CuDNN。
說明:
- OpenCV v4.5 支持 CuDNN v8。 低于 v4.5 版本需要關閉 CuDNN選項 或 使用 CuDNN v7。
- 低于 v4.5 版本需要設置
-DWITH_CUDNN=OFF CUDA_ARCH_BIN=8.6 是指顯卡 算力,請根據(jù)當前顯卡型號查找。查詢顯卡型號: nvidia-smi -L CMAKE_INSTALL_PREFIX =/usr/local 是指 OpenCV 的安裝路徑,可以自行修改- 設置
-DBUILD_opencv_cudacodec=OFF ,因為 NVIDIA Video Decoder (NVCUVID) 已過期
安裝步驟:
sudo apt purge libopencv* python-opencv
sudo apt purge x264 libx264-dev
sudo apt autoremove
sudo apt -y install software-properties-common
sudo add-apt-repository "deb http://security./ubuntu xenial-security main"
sudo apt -y update
sudo apt -y install build-essential checkinstall pkg-config
sudo apt -y install git gfortran yasm
sudo apt -y install libjpeg8-dev libpng-dev
sudo apt -y install libjasper1 libtiff5-dev
sudo apt -y install libavcodec-dev libavformat-dev
sudo apt -y install libswscale-dev libdc1394-22-dev
sudo apt -y install libxine2-dev libv4l-dev
sudo ln -s -f /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
sudo apt -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt -y install libopenblas-dev libopenblas-base liblapacke-dev
sudo ln -s /usr/include/x86_64-linux-gnu/cblas.h /usr/include
sudo ln -s /usr/include/x86_64-linux-gnu/cblas-openblas.h /usr/include
sudo ln -s /usr/lib/x86_64-linux-gnu/liblapack.so /usr/lib
# sudo apt -y install libgtk2.0-dev
# sudo apt -y install libatlas-base-dev
sudo apt -y install libgtk-3-dev libtbb-dev qt5-default
sudo apt -y install libgtkglext1 libgtkglext1-dev
sudo apt -y install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt -y install libvorbis-dev libxvidcore-dev
sudo apt -y install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt -y install libavresample-dev
sudo apt -y install x264 v4l-utils
sudo apt -y install python3 python3-dev python3-numpy python3-bs4
sudo apt -y install libprotobuf-dev protobuf-compiler
sudo apt -y install libgoogle-glog-dev libgflags-dev
sudo apt -y install libgphoto2-dev libeigen3-dev
sudo apt -y install libhdf5-dev doxygen graphviz
<>< font="">g src="http://image109.360doc.com/DownloadImg/2023/05/1820/266193153_1_20230518085636633.png" alt="" title=""><>
- 下載 OpenCV 和 OpenCV_contrib
export WORKSPACE=~/Desktop/install_opencv
mkdir ${WORKSPACE}
cd ${WORKSPACE}
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout tags/4.2.0
cd ..
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout tags/4.2.0
- 低于 v4.4 且
WITH_CUDNN=ON : 修改 cmake/FindCUDNN.cmake : - 創(chuàng)建 Makefile
cd ${WORKSPACE}/opencv
mkdir build && cd build
CUDA_DIR="/usr/local/cuda"
PY3=$(which python3)
VERSION=$($PY3 -c "import sysconfig; print(sysconfig.get_python_version())")
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_POLICY_DEFAULT_CMP0069=NEW -D CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D BUILD_DOCS=ON -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D BUILD_PACKAGE=OFF -D BUILD_EXAMPLES=OFF -D WITH_TBB=ON -D OPENCV_ENABLE_NONFREE=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUDA=ON -D CUDA_ARCH_BIN=8.6 -D WITH_CUBLAS=ON -D WITH_CUFFT=ON -D WITH_NVCUVID=ON -D WITH_CUDNN=ON -D CUDA_TOOLKIT_ROOT_DIR=${CUDA_DIR} -D CUDNN_INCLUDE_DIR=${CUDA_DIR}/include -D CUDNN_LIBRARY=${CUDA_DIR}/lib64/libcudnn.so -D OPENCV_DNN_CUDA=ON -D BUILD_opencv_cudacodec=OFF -D WITH_IPP=OFF -D WITH_V4L=ON -D WITH_1394=ON -D WITH_GTK=ON -D WITH_QT=OFF -D WITH_OPENGL=OFF -D WITH_EIGEN=ON -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D BUILD_JAVA=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_SKIP_PYTHON_LOADER=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=${WORKSPACE}/opencv_contrib/modules -D PYTHON3_EXECUTABLE=$PY3 -D PYTHON3_INCLUDE_DIR=$($PY3 -c "import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))") -D PYTHON3_NUMPY_INCLUDE_DIRS=$($PY3 -c "import numpy; print(numpy.get_include())") -D PYTHON3_PACKAGES_PATH=$($PY3 -c "import sysconfig; print(sysconfig.get_path('platlib'))") -D PYTHON3_LIBRARY=$($PY3 -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")/libpython${VERSION}.so ..
<>< font="">g src="http://image109.360doc.com/DownloadImg/2023/05/1820/266193153_1_20230518085636633.png" alt="" title=""><>
sudo make -j$(nproc)
sudo make install
sudo ldconfig
- 創(chuàng)建 Python 綁定的軟鏈接
OpenCV 將 Python 綁定安裝至 /usr/lib/python3/dist-packages 文件夾,通過創(chuàng)建軟鏈接可以使得所有 Python虛擬環(huán)境共用一個 OpenCV:
sudo ln -s /usr/lib/python3/dist-packages/cv2.cpython-38-x86_64-linux-gnu.so ~/.local/lib/python3.8/site-packages/
12. DeepStream 6.1 SDK
截止目前, DeepStream 已經更新到了 6.1,官方安裝教程在這。
本文包括 本地安裝 和 Docker 安裝 兩張方式。
12.1 本地安裝:
安裝前需要安裝以下軟件:
- Ubuntu 20.04 LTS
- GStreamer 1.16.2
- NVIDIA driver 510.47.03
- CUDA 11.6 Update 1
- CuDNN 8.4.0.27
- TensorRT 8.2.5.1
前置軟件安裝步驟:
- GStream 1.16.2,參考本文 第10.1 節(jié)
- [可選] Gst-Python,參考本文 第 10.3 節(jié)
- NVIDIA driver 510.47.03, 參考本文 第5.1 節(jié)
- CUDA 11.6 Update 1, 參考本文 5.2.2 Runfile 安裝方式
- CuDNN 8.4.0.27,參考本文 第 6 節(jié)
- TensorRT 8.2.5.1,參考本文 第 7 節(jié)
安裝步驟:
sudo apt install libssl1.1 libgstreamer1.0-0 gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libgstrtspserver-1.0-0 libjansson4 libyaml-cpp-dev liblz4-dev libsasl2-dev gcc make git python3
cd ~/Downloads/
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka/
git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
make -j$(nproc)
sudo make install
- 安裝 DeepStream 6.1 (重要:采用 Tar 包形式)
cd ~/Downloads/
wget https://developer./deepstream_sdk_v6.1.0_x86_64.tbz2
sudo tar -xvf deepstream_sdk_v6.1.0_x86_64.tbz2 -C /
sudo /opt/nvidia/deepstream/deepstream-6.1/install.sh
sudo ldconfig
- 將 librdkafka 拷貝至 DeepStream 目錄
sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.1/lib
sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.1/lib
12.2 安裝 DeepStream 6.1 Docker
TODO
安裝步驟:
cd ~/Downloads/
git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
cd deepstream_python_apps
git submodule update --init
- 編譯 Python 綁定, 生成
pyds-*.whl
cd bindings/
mkdir build && cd build
cmake -D DS_VERSION=6.1 -D PYTHON_MAJOR_VERSION=3 -D PYTHON_MINOR_VERSION=8 -D PIP_PLATFORM=linux_x86_64 -D DS_PATH=/opt/nvidia/deepstream/deepstream-6.1 ..
make -j$(nproc)
- 安裝
pyds (可以激活 conda 虛擬環(huán)境安裝):
sudo apt install libgirepository1.0-dev
python3 -m pip install pyds-1.1.2-py3-none-linux_x86_64.whl
- 將
deepstream_python_apps 拷貝至 DeepStream 目錄
sudo cp -r ~/Downloads/deepstream_python_apps/ /opt/nvidia/deepstream/deepstream/sources/
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps
cd apps/deepstream-test1
python3 deepstream_test_1.py ../../../../samples/streams/sample_720p.h264
|