国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ubuntu20.04軟件安裝大全

這篇具有很好參考價(jià)值的文章主要介紹了Ubuntu20.04軟件安裝大全。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Ubuntu20.04 軟件安裝大全

前言

最近在自己主機(jī)上安裝了雙系統(tǒng),記錄下自己在Ubuntu20.04系統(tǒng)中安裝的軟件及遇到的問題,方便下次查看,安裝的軟件大多是跟深度學(xué)習(xí)相關(guān)的以及個(gè)人平時(shí)習(xí)慣使用的,僅供自己參考。
這里分享下博主安裝過程中的軟件安裝包下載鏈接[pwd:yolo]??????

1. Windows和Ubuntu雙系統(tǒng)安裝

參考自UP主機(jī)器人工匠阿杰的Windows和Ubuntu雙系統(tǒng)的安裝和卸載

描述:安裝流程非常詳細(xì),UP主演示的是筆記本,而博主是主機(jī),在BIOS界面相差較大,安裝完成后存在一個(gè)小bug,但不影響使用。下面只說下流程中博主操作不同的地方,大家務(wù)必根據(jù)自己的實(shí)際情況來

1.1 下載Ubuntu系統(tǒng)鏡像

博主并沒有選擇從Ubuntu官網(wǎng)下載,而是選擇從清華大學(xué)開源軟件鏡像站下載,不用訪問外網(wǎng),速度快。清華大學(xué)開源鏡像站Ubuntu-releases網(wǎng)址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/

選擇你想要安裝的Ubuntu版本(比如20.04),點(diǎn)擊下載.iso為結(jié)尾的藍(lán)色字體即可(比如ubuntu-20.04.6-desktop-amd64.iso)

如果不會操作的可查看這篇Ubuntu系統(tǒng)下載(清華大學(xué)開源軟件鏡像戰(zhàn))博客的圖文描述

1.2 磁盤分區(qū)

博主選擇的是分區(qū)方案一,將/home掛載節(jié)點(diǎn)和/根掛載節(jié)點(diǎn)分開。

博主有兩塊硬盤,一個(gè)3TB的機(jī)械和一個(gè)1TB的的固態(tài),我從機(jī)械硬盤中壓縮了500GB的空間(即512,000MB)和固態(tài)硬盤中壓縮了250GB的空間(即256,000MB),我將固態(tài)硬盤的250個(gè)GB用做引導(dǎo)區(qū)、內(nèi)存交換分區(qū)以及/根掛載節(jié)點(diǎn),將500GB的空間用做/home掛載點(diǎn)(主要我感覺/根掛載節(jié)點(diǎn)像系統(tǒng)盤,所以分配的是固態(tài),而/home掛載點(diǎn)像非系統(tǒng)盤,所以分配的是機(jī)械)

博主分區(qū)秉承一個(gè)原則,能多分就多分,所以和UP主的分配不同(根據(jù)自己實(shí)際情況來)。具體如下:

分區(qū) 大小
引導(dǎo)區(qū) 5GB(5,120MB)
內(nèi)存交換分區(qū) 40GB(40,960MB)
/根掛載節(jié)點(diǎn) 205GB(209,920MB)
/home掛載節(jié)點(diǎn) 500GB(512,000MB)

1.3 GPT分區(qū)安裝Ubuntu

博主是微星主板(F11按鍵進(jìn)入啟動選項(xiàng)),按鍵盤的Delete按鍵進(jìn)入BIOS,在BIOS中修改兩個(gè)地方,一個(gè)是將修改啟動項(xiàng)目讓U盤作為啟動項(xiàng),一個(gè)是關(guān)閉安全引導(dǎo)

  • 在BIOS的主界面中,有一個(gè)Boot Priority,可以看到有一個(gè)USB和一個(gè)硬盤圖標(biāo)是亮著的,將亮著的USB拖到最前面即可
  • 可以參考UP主硬件茶談的WIN10系統(tǒng)安裝教程,將U盤作為啟動項(xiàng)
  • 在BIOS的主界面中,有一個(gè)SETTINGS,點(diǎn)擊進(jìn)去,選擇安全,選擇安全啟動,禁止。(BIOS中的安全引導(dǎo)一定要關(guān)閉,不然后續(xù)顯卡驅(qū)動無法安裝)
  • 退出保存更改即可

1.4 系統(tǒng)完成后的一些設(shè)置

啟動菜單的默認(rèn)項(xiàng)

博主并沒有選擇設(shè)置

時(shí)間同步

打開一個(gè)終端,執(zhí)行如下指令:

sudo apt install ntpdate
sudo ntpdate time.windows.com
sudo hwclock --localtime --systohc

1.5 遇到的一些小bug

在博主使用的過程中主要存在兩個(gè)bug

bug1:Ubuntu重啟后無法進(jìn)入到grud的選擇界面,直接進(jìn)到Ubuntu界面,但是關(guān)機(jī)再開機(jī)可以

解決方案:在Ubuntu中打開grub,將Timeout時(shí)間修改為20,具體指令如下:

sudo gedit /etc/default/grub

將第8行的GRUB_TIMEOUT修改為20

GRUB_TIMEOUT=20

保存并退出,更新配置,指令如下:

sudo update-grub

重啟后即可進(jìn)入到grub界面

bug2:Ubuntu重啟后分辨率偶爾會變得非常小,圖標(biāo)變得非常大

解決方案:未解決,只能通過重啟

2. 換源

參考自Ubuntu配置apt安裝源為清華源、Linux下配置pip為國內(nèi)清華源

描述:安裝軟件時(shí)最好先進(jìn)行換源,確保后續(xù)軟件在下載過程中不會存在網(wǎng)絡(luò)問題,apt換源博主是直接在Ubuntu的設(shè)置中完成的,也可以按照上面的方式進(jìn)行修改,配置流程按照上文走沒有問題,下面簡單過一遍

2.1 apt換源

點(diǎn)擊系統(tǒng)中的設(shè)置(Settings),點(diǎn)擊最下面的關(guān)于(About),點(diǎn)擊Software Updates

在第一欄Ubuntu Software頁面中,前四個(gè)main,universe,restricted,multiverse都打勾上,找到Download from,選擇=>Others=>China=>mirrors.aliyun.com(阿里源)或者mirrors.tuna.tsinghua.edu.cn(清華源),點(diǎn)擊確認(rèn),輸入自己的密碼,完成。

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

換源成功后打開終端,執(zhí)行如下語句:

cat /etc/apt/sources.list

在終端上會打印apt的源,可以看到原始的Ubutnu的源會被替換成之前選擇的阿里源或者清華源

2.2 pip換源

首先打開終端使用小寫的ll查看所有隱藏文件夾和文件,看是否存在**.pip**文件夾,如果沒有,則使用下面命令創(chuàng)建:

mkdir .pip
cd .pip/

然后通過vim pip.conf創(chuàng)建配置文件,指令如下:

sudo vim pip.conf

添加如下內(nèi)容(這里添加清華源,其他的也可以)

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

最后Esc,:wq保存并退出,結(jié)束配置

3. 顯卡驅(qū)動安裝

參考自:拯救者Y9000K2021H在ubuntu18.04安裝顯卡驅(qū)動、Ubuntu卸載Nvidia驅(qū)動和安裝最新驅(qū)動

描述:顯卡驅(qū)動安裝主要參考文章1,流程按照上面走沒有問題,博主顯卡為RTX3060,切記在安裝顯卡驅(qū)動的時(shí)候要在BIOS中將安全啟動關(guān)閉,具體操作可看1.3小節(jié)內(nèi)容

3.1 卸載顯卡驅(qū)動

進(jìn)行該步目的是防止系統(tǒng)中已經(jīng)存在舊版本的驅(qū)動,或者存在沒有完全安裝成功的驅(qū)動。

在終端輸入如下指令:

sudo apt-get purge nvidia*

3.2 準(zhǔn)備工作

點(diǎn)擊系統(tǒng)中的設(shè)置(Settings),點(diǎn)擊最下面的關(guān)于(About),點(diǎn)擊Software Updates

  • 在第一欄Ubuntu Software頁面中,前四個(gè)main,universe,restricted,multiverse都打上勾,找到Download from,選擇=>Others=>China=>mirrors.aliyun.com,點(diǎn)擊確認(rèn),輸入自己的密碼,完成。(該步主要是換源,和之前的apt換源一致)
  • 在第二欄Other Software頁面中,將Canonical Partners勾選上
  • 在第三欄Updates頁面中,將Automatic check for updates修改為Never

3.3 驅(qū)動安裝

本次采用的方式是使用圖形驅(qū)動程序PPA存儲庫完成NVIDIA驅(qū)動程序的快捷安裝工作。

1.將ppa存儲庫添加到當(dāng)前系統(tǒng)當(dāng)中,指令如下:

sudo add-apt-repository ppa:graphics-drivers/ppa

2.更新軟件列表,指令如下:

sudo apt-get update

3.查看檢測到的驅(qū)動程序,指令如下,推薦下載帶有recommended標(biāo)志的驅(qū)動

sudo ubuntu-drivers devices

4.根據(jù)第3步檢測到的驅(qū)動,選擇一個(gè)合適的版本號(博主選擇的是510),安裝指令如下:

sudo apt install nvidia-driver-510

執(zhí)行完成之后執(zhí)行命令sudo reboot重啟

3.4 驗(yàn)證

重新啟動之后在命令輸入nvidia-smi,如果出現(xiàn)對應(yīng)的驅(qū)動版本和CUDA版本說明安裝成功。

同時(shí)可以點(diǎn)擊設(shè)置(Settings),點(diǎn)擊最下面的關(guān)于(About),查看下Graphics這一欄是否已經(jīng)變?yōu)?strong>NVIDIA Corporation,如果是,代表安裝全部完成。

4. VScode安裝

描述:Ubuntu20.04安裝VScode較簡單,按照下面步驟來就行

4.1 安裝包下載

去官網(wǎng)選擇Ubuntu的.deb包下載即可,外網(wǎng)下載慢,需要代理,大家可以在Windows下面通過代理下載好后傳到Ubuntu下面。

VScode官網(wǎng)下載鏈接:https://code.visualstudio.com/Download

先cd到安裝包路徑下,然后進(jìn)行安裝即可,指令如下:

cd Downloads
sudo apt get install ./code_1.77.3-1681292746_amd64.deb
sudo dpkg -i ./code_1.77.3-1681292746_amd64.deb

4.2 插件下載

大家根據(jù)自己的需求來就行,下面是博主下載的一些插件

  • Chinese(Simplified):中文簡體
  • python:Python語言擴(kuò)展
  • C/C++:C/C++語言擴(kuò)展
  • Remote Development:遠(yuǎn)程SSH
  • vscode-cudacpp:CUDA擴(kuò)展
  • CMake Tools:CMakeLists.txt擴(kuò)展

4.3 常用設(shè)置

通過Ctrl+鼠標(biāo)滾動改變字體大小

打開設(shè)置 => 輸入"editor.mouseWheelZoom" => 勾選上

5. 百度網(wǎng)盤安裝

描述:經(jīng)常需要將Windows和Ubuntu的文檔相互傳遞,通過U盤有時(shí)候不方便,還是選擇安裝個(gè)百度網(wǎng)盤,安裝流程較簡單,按照下面的步驟就行

去官網(wǎng)選擇Linux的.deb包下載即可

百度網(wǎng)盤官網(wǎng)下載鏈接:https://pan.baidu.com/download#linux

先cd到安裝包路徑下,然后進(jìn)行安裝即可,指令如下:

cd Downloads
sudo dpkg -i ./baidunetdisk_4.17.7_amd64.deb

6. Google Chrome安裝

參考自如何在 Ubuntu 20.04 上安裝 Google Chrome 網(wǎng)絡(luò)瀏覽器

描述:博主習(xí)慣使用Chrome瀏覽器,有時(shí)候可以打開一些關(guān)閉的標(biāo)簽頁,有時(shí)可以收藏一些標(biāo)簽等比較方便的功能,安裝流程按上面的文章走即可,下面簡單過一遍

6.1 安裝包下載

進(jìn)入官網(wǎng),點(diǎn)擊下載Chrome,選擇64位.deb(適用于Debian/Ubuntu)

Google Chrome官網(wǎng)下載鏈接:https://www.google.cn/intl/zh-CN/chrome/

先cd到安裝包路徑下,然后進(jìn)行安裝即可,指令如下:

sudo apt install ./google-chrome-stable_current_amd64.deb

6.2 常用設(shè)置

Chrome標(biāo)簽頁設(shè)置

添加的標(biāo)簽頁并沒有在菜單欄中顯示,可根據(jù)下面的方法修改

點(diǎn)擊右上角的三個(gè)點(diǎn),選擇Booksarks,點(diǎn)擊Show bookmarks bars即可

搜索引擎選擇設(shè)置

每次搜索的時(shí)候,默認(rèn)使用Google搜索引擎,由于沒有代理,所以無法使用,修改為bing,修改方法如下

點(diǎn)擊右上角的三個(gè)點(diǎn),選擇Settings,選擇Search engine,將Google選項(xiàng)修改為Bing

簡體中文設(shè)置

未解決

博主嘗試選擇Settings中的Languages,在Preferred languages中Add languages添加簡體中文,并Move to the top,然而并不管用

7. 截圖工具安裝

參考自snipaste替代品 & Linux截圖解決方案-截圖、貼圖工具Flameshot

描述:在記錄問題時(shí)經(jīng)常需要截圖,而Windows的截圖貼圖神器snipaste在Linux下并不支持,所以找了一個(gè)替代品Flameshot,安裝流程可按照上面的文章走,下面簡單介紹下

7.1 安裝

Ubuntu下安裝非常簡單,打開終端執(zhí)行如下指令:

sudo apt install flameshot

7.2 配置

在Show Application中找到flameshot,點(diǎn)擊圖標(biāo)打開(打開后右上角會出現(xiàn)對應(yīng)小圖標(biāo)),點(diǎn)擊小圖標(biāo),選擇Configuration配置,大家按照上文的說明和自己喜好自行配置即可。

博主在General選項(xiàng)中,關(guān)閉了show help message幫助信息并打開了Launch at startup開機(jī)自啟動選項(xiàng)。

7.3 設(shè)置快捷方式

將截圖局部快捷鍵設(shè)置為ctrl+alt+a

在Settings => Keyboard Shorcuts中,點(diǎn)擊最下方的加號,添加Custom Shortcus(自定義快捷鍵)

  • 1.快捷鍵名詞(Name):自定義即可

  • 2.命令(Command):如下,–path后面跟的是保存的截圖路徑

    flameshot gui --path /home/jarvis/Pictures/Screenshots
    
  • 3.快捷鍵(Shortcut):將局部截圖快捷鍵設(shè)置為ctrl+alt+a

8. Typora安裝

參考自Linux免費(fèi)安裝Typora

描述:經(jīng)常需要記錄一些問題,非常喜歡Typora這款Markdown編輯器,可以選擇去官網(wǎng)下載最新版本并購買激活,博主這里使用的是老版本免費(fèi)的Typora,夠用了,安裝流程按照上文走就行,這里主要介紹下主題和個(gè)人的一些設(shè)置

8.1 vim安裝

vim安裝指令如下:

sudo apt-get update

sudo apt-get install vim

8.2 Typora安裝

將安裝包下載好后,cd到安裝包目錄下進(jìn)行安裝,指令如下:

cd Downloads
tar xzvf Typora-linux-x64.tar.gz 
cd bin
sudo cp -ar Typora-linux-x64 /opt
cd /opt/Typora-linux-x64/
#啟動
./Typora

為了在任意位置啟動,我們設(shè)置下環(huán)境變量

sudo vim ~/.bashrc

打開.bashrc配置文件,添加:

#Typora環(huán)境變量
export PATH=$PATH:/opt/Typora-linux-x64

source一下,讓配置生效

source ~/.bashrc

OK了,可以在任意位置啟動typora

./Typora

添加桌面快捷方式

cd /usr/share/applications
sudo vim typora.desktop

添加以下內(nèi)容:

[Desktop Entry]
Name=Typora
Comment=Typora
Exec=/opt/Typora-linux-x64/Typora
Icon=/opt/Typora-linux-x64/resources/app/asserts/icon/icon_256x256.png
Terminal=false
Type=Application
Categories=Developer;

重啟電腦就ok了

右鍵打開

sudo gedit ~/.config/mimeapps.list

添加如下內(nèi)容:

text/markdown=typora.desktop

8.3 偏好設(shè)置

有一些設(shè)置可以根據(jù)個(gè)人習(xí)慣調(diào)整

  • 1.語言設(shè)置
    • File(文件) => Preference(偏好設(shè)置) => General(通用) => Language(語言) => 簡體中文
    • 重啟Typora
  • 2.狀態(tài)欄顯示
    • 文件 => 外觀 => 狀態(tài)欄 => 顯示狀態(tài)欄(勾選上)
    • 文件 => 外觀 => 側(cè)邊欄 => 側(cè)邊欄的大綱視圖允許折疊和展開(勾選上)
  • 3.拼寫檢查
    • 文件 => 編輯器 => 拼寫檢查 => 不使用拼寫檢查
  • 4.Markdown
    • 文件 => Markdown => Markdown 擴(kuò)展語法(全勾選上)
    • 文件 => Markdown => 代碼塊 => 顯示行號(勾選上)
    • 重啟Typora

8.4 主題

下載

主題下載自https://github.com/liangjingkanji/DrakeTyporaTheme

主題使用

  • 通過文件 => 偏好設(shè)置 => 外觀 => 主題 => 打開主題文件夾 打開theme目錄

  • 下載好的壓縮包解壓后將目錄內(nèi)的所有文件復(fù)制到theme目錄

  • 重啟Typora,選擇菜單欄 => 主題即可

字體大小設(shè)置

  • 通過文件 => 偏好設(shè)置 => 外觀 => 主題 => 打開主題文件夾 打開theme目錄
  • 在theme目錄中找到drake文件夾下的font.css用于配置自定義字體
  • 在font.css最后有字體大小、行間距等配置,根據(jù)自己喜好設(shè)置即可
  • 博主在這里將–text-size大小 由12px修改為18px
  • 重啟Typora

9. Pycharm安裝

參考自ubuntu20.04安裝Pycharm2021

描述:Pycharm安裝較簡單,按照上文的步驟就行

9.1 安裝包下載

進(jìn)入Pycharm官網(wǎng)下載Linux版本社區(qū)版本的.tar.gz壓縮包

Pyacharm官網(wǎng)下載鏈接:https://www.jetbrains.com/pycharm/download/#section=linux

先cd進(jìn)入到安裝包目錄,先解壓,指令如下:

cd Downloads
tar -xzf pycharm-community-2023.1.tar.gz

創(chuàng)建文件夾

sudo mkdir /opt/pycharm

移動文件夾

cd download
sudo mv pycharm-community-2023.1.tar.gz /opt/pycharm

安裝

sh /opt/pycharm/pycharm-community-2023.1.tar.gz/bin/pycharm.sh

I confirm that I have read and ...勾選上,點(diǎn)擊continue即可

創(chuàng)建桌面圖標(biāo)

點(diǎn)擊右下角的設(shè)置,點(diǎn)擊Create Desktop Entry創(chuàng)建桌面圖標(biāo)

10. Anaconda安裝

參考自從零開始搭建深度學(xué)習(xí)環(huán)境:CUDA+Pyotrch+Anaconda+VScode

描述:Anaconda安裝較簡單,按照上面視頻的步驟就行,下面簡單過一遍

10.1 安裝包下載

進(jìn)入Anaconda官網(wǎng)下載Linux版本社區(qū)版本的.sh文件

Anaconda官網(wǎng)下載鏈接:https://www.anaconda.com/products/distribution#Downloads

首先cd到安裝包目錄下,然后安裝,指令如下:

cd Downloads
bash Anaconda3-2023.03-Linux-x86_64.sh

添加環(huán)境變量

sudo gedit ~/.bashrc

末尾添加(xxx修改為你的用戶名)

export PATH="/home/xxx/anaconda3/bin:$PATH"

source

source ~/.bashrc

10.2 首次激活環(huán)境遇到的問題

但你執(zhí)行conda activate base會出現(xiàn)如下錯(cuò)誤:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

原因在于當(dāng)前使用的shell沒有配置好conda activate

需要先使用conda init shell初始化,然后就可以正常使用了,如下所示:

conda init shell

關(guān)閉終端重新打開即可

10.3 conda常用指令

conda info --envs					// 查看當(dāng)前環(huán)境
conda create -n myenv python=3.7	// 創(chuàng)建新環(huán)境
conda activate myenv				// 激活環(huán)境
conda clean -a						// 清除無用包
pip list							// 查看已安裝的包(只有當(dāng)前虛擬環(huán)境的包)
conda list							// 查看已安裝的包(除了當(dāng)前虛擬環(huán)境下的,還有關(guān)聯(lián)環(huán)境的包)
pip install numpy					// 安裝numpy
python								// 檢查安裝的numpy
>>> import numpy as np

10.4 conda換源

利用 conda 指令創(chuàng)建虛擬環(huán)境或者安裝第三方庫時(shí)默認(rèn)是訪問外網(wǎng)的源,非常慢,因此我們有必要將其替換為國內(nèi)源來提高速度

copy自:linux中anaconda更換源

1. 查看現(xiàn)有 conda 源,在終端輸入如下命令:

conda info

可以看到 conda 默認(rèn)使用的源,如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

2. 檢查 home 目錄下是否存在 .condarc 文件

3. 如果沒有 2 中所述文件,那么執(zhí)行如下命令:

conda config --set show_channel_urls yes

4. 再次檢查 home 目錄下是否有 2 中所述文件,可以發(fā)現(xiàn)此時(shí)已經(jīng)有了該文件

5. 打開 2 中所述文件,添加如下內(nèi)容:

default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

6. 保存并退出

7. 再次執(zhí)行步驟 1 查看 conda 源,如下圖所示,可以看到已經(jīng)切換為清華源了

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

8. 執(zhí)行如下命令來清楚 conda 的緩存:

conda clean -i

9. 至此 conda 國內(nèi)源設(shè)置完成,現(xiàn)在可以愉快的使用 conda 創(chuàng)建虛擬環(huán)境和安裝軟件了??

11. Netron安裝

參考自如何在Linux上快速使用Netron模型可視化工具

描述:經(jīng)常需要查看ONNX網(wǎng)絡(luò)結(jié)構(gòu),安裝非常簡單,使用有點(diǎn)麻煩

去Github下載對應(yīng)的Linux版本,后綴為.AppImage文件

GitHub鏈接:https://github.com/lutzroeder/netron

將下載好的AppImage文件賦予權(quán)限并直接運(yùn)行

chmod a+x Netron-5.5.3.AppImage
./Netron-5.5.3.AppImage

它并不能像Windows一樣直接點(diǎn)開ONNX模型,必須先進(jìn)入對應(yīng)的目錄在終端執(zhí)行./Netron-5.5.3.AppImage,然后將對應(yīng)的ONNX模型直接拖過來就行。

12. 編譯OpenCV4.6.0

參考自Ubuntu 20.04搭建OpenCV 4.5.0 & C++環(huán)境、Ubuntu 安裝 OpenCV 4.5.5、關(guān)于安裝opencv編譯報(bào)錯(cuò):runtime library * hidden by 等若干問題、cmake編譯出錯(cuò)hidden by files

描述:注意?。?!如果你在編譯opencv之前安裝了annaconda,請先看問題解決(與Anaconda沖突),除了上述沖突問題之外,沒有其他問題,按照上文的操作即可。博主主要參考上文1中的opencv安裝(即前3項(xiàng))以及上文2中的opencv環(huán)境配置和驗(yàn)證。下面簡單過一遍整個(gè)編譯流程

12.1 安裝依賴項(xiàng)

1.安裝g++,cmake,make,wget,unzip,若已安裝,此步跳過

sudo apt install g++
sudo apt install cmake
sudo apt install make
sudo apt install wget unzip

2.安裝opencv依賴的庫

sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

3.安裝一些可選的庫

# python3支持(首次安裝了python的庫,但make報(bào)錯(cuò)了,之后刪了這兩個(gè)庫,若不使用python,建議不安裝)
sudo apt install python3-dev python3-numpy
# streamer支持
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
# 可選的依賴
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev

12.2 下載OpenCV 4.6.0源文件

可以在官網(wǎng)下載相應(yīng)版本的OpenCV,主要有Source和GitHub兩種方式下載

1.Source:https://opencv.org/releases/

點(diǎn)擊Source進(jìn)行下載,外網(wǎng)訪問慢,可在Windows下通過代理下載后傳到Linux;也可通過我一開始提供的下載鏈接進(jìn)行下載

2.Github下載方式:

# 安裝4.6.0版本
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.6.0.zip
# 安裝最新版本
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip

下載完成后,解壓到主目錄,將解壓后的文件重命名為opencv

12.3 Cmake配置和編譯OpenCV

1.在主目錄下打開終端

2.進(jìn)入到下載好的opencv目錄,新建并進(jìn)入目錄build

cd opencv
mkdir build
cd build

3.使用cmake配置opencv

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..

4.用make進(jìn)行編譯

make -j24

5.用make安裝

sudo make install

默認(rèn)安裝路徑如下

  • /usr/local/bin - executable files
  • /usr/local/bin - libraries (.so)
  • /usr/local/cmake/opencv4 - cmake package
  • /usr/local/include/opencv4 - headers
  • /usr/local/share/opencv4 - other files (e.g. trained cascades in XML format)

12.4 環(huán)境配置

動態(tài)庫配置

sudo gedit /etc/ld.so.conf.d/opencv.conf

添加

/usr/local/lib

保存后,終端內(nèi)執(zhí)行

sudo ldconfig 

更新PKG_CONFIG_PATH

sudo gedit /etc/bash.bashrc

文末添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存后,終端執(zhí)行

source /etc/bash.bashrc
sudo updatedb

若出現(xiàn)sudo: updatedb: command not found,執(zhí)行 sudo apt install mlocate 后再次操作即可。

12.5 驗(yàn)證

pkg-config

在終端輸入如下指令,會顯示對應(yīng)的opencv版本4.6.0

pkg-config --modversion opencv4

程序驗(yàn)證,代碼如下

test.cpp

#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>

using namespace cv;
using namespace std;

/**
 * 讀寫與顯示
 * @return
 */
int main() {
    cout << CV_VERSION << endl;
    Mat src = cv::imread("test.png", IMREAD_GRAYSCALE);
    if (src.empty()) {
        cout << "Could not load image\n" << endl;
        return -1;
    }
    namedWindow("gray", WINDOW_AUTOSIZE);
    imshow("gray", src);
    waitKey(0);

    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.16)
project(test)
find_package(OpenCV REQUIRED)
add_executable(test test.cpp)
target_link_libraries(test ${OpenCV_LIBS})

編譯運(yùn)行

cmake .
make
./test

運(yùn)行后屏幕會顯示目錄下test.png的灰度圖像

12.6 問題解決(與Anaconda沖突)

特別注意!??!在安裝完成anaconda之后再編譯opencv時(shí),cmake后會出現(xiàn)如下提示信息,導(dǎo)致最終編譯不通過

錯(cuò)誤信息如下

CMake Warning at cmake/OpenCVUtils.cmake:1547 (add_library):
  Cannot generate a safe runtime search path for target opencv_imgcodecs
  because files in some directories may conflict with libraries in implicit
  directories:

    runtime library [libpng16.so.16] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /home/jarvis/anaconda3/lib
    runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /home/jarvis/anaconda3/lib
    runtime library [libtiff.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /home/jarvis/anaconda3/lib

問題分析:安裝anaconda的時(shí)候造成了之前的編譯的庫重新編譯的時(shí)候,報(bào).so文件被隱藏的問題,這是cmake在找?guī)鞎r(shí)的算法問題

問題解決:將anaconda/lib修改為anaconda/lib_bk,在opencv中重新創(chuàng)建build并cmake,等待opencv編譯完成之后,再改回來即可

切記?。?!在編譯完opencv后,將anaconda/lib_bk重新修改為lib

13. CUDA安裝

參考自linux安裝tensorflow,cuda,cudnn安裝,pytorch兼容,RTX30系列GPU兼容cuda

描述:本來想體驗(yàn)下kiwi一鍵安裝CUDA+cuDNN+TensorRT的,但現(xiàn)在還處于內(nèi)測階段,還未公測,等kiwi公測吧,只能先自己來了。CUDA的安裝按照上面視頻的操作來就行,沒有問題,下面簡單過一遍流程。切記!??!CUDA的安裝依賴于顯卡驅(qū)動的安裝,請務(wù)必安裝完顯卡驅(qū)動后再來安裝CUDA

13.1 準(zhǔn)備工作

首先確定我們要安裝的CUDA版本,它是根據(jù)你的驅(qū)動程序版本來安裝的,打開終端輸入如下指令:

cat /proc/driver/nvidia/version
# 或者
nvidia-smi

通過上面兩種方法都可以獲取nvidia-driver的版本,如下圖所示,博主的驅(qū)動程序版本是510.108.03,記住這個(gè)數(shù)字,后續(xù)會用到

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

我們知道了驅(qū)動版本后就需要確認(rèn)CUDA下載的版本了,查看CUDA版本與驅(qū)動版本對應(yīng)關(guān)系見下面的鏈接(查看表3即可):

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

下面是表3的部分截圖,左邊一列是CUDA版本,后面兩列分別對應(yīng)Linux下和Windows下驅(qū)動版本的要求,GA = General Availability,通用版本,指軟件的通用版本(可以理解為穩(wěn)定版本吧??),后續(xù)我們就安裝GA版本,那么怎么查看自己要下載的CUDA版本呢?看對應(yīng)的驅(qū)動要求就像,比如說在下面的紅色框內(nèi)就是我想要下載的CUDA版本,即CUDA 11.6 GA,驅(qū)動版本要求大于等于510.39.01,而我的驅(qū)動版本之前提到過是510.108.03,顯然是滿足要求的。根據(jù)表中來看,我還可以選擇CUDA 11.5GA、CUDA 11.4等CUDA版本,因?yàn)槲业尿?qū)動版本是滿足要求的。具體選擇那個(gè)根據(jù)個(gè)人情況來就行。

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

13.2 CUDA下載

確認(rèn)了CUDA下載的版本后我們就可以去NVIDIA官網(wǎng)進(jìn)行下載了,博主需要下載的是CUDA 11.6 GA

NVIDIA官網(wǎng)CUDA下載鏈接:https://developer.nvidia.com/cuda-toolkit-archive

打開上面的鏈接后,會出現(xiàn)如下的界面,點(diǎn)擊你想要下載的CUDA Toolkit就行,比如博主想要下載CUDA 11.6 GA,點(diǎn)擊下面紅色框中的CUDA Toolkit 11.6.0即可。(為什么點(diǎn)擊11.6.0而不是其它的11.6版本呢?其實(shí)大家可以從上面的版本對應(yīng)圖可知CUDA 11.6 Update 2對應(yīng)CUDA Toolkit 11.6.2;CUDA 11.6 Update1對應(yīng)CUDA Toolkit 11.6.1;CUDA 11.6 GA對應(yīng)CUDA Toolkit 11.6.0)

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

點(diǎn)進(jìn)去之后選擇目標(biāo)平臺,如下圖所示,博主這里選擇Linux系統(tǒng)、x86_64架構(gòu)、Ubuntu、20.04版本、runfile(local)安裝方式

選擇完成后通過wget后面的地址就可以下載了,建議將網(wǎng)址復(fù)制到瀏覽器中下載,訪問的是外網(wǎng),下載慢,最好是開代理

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

13.3 CUDA安裝

首先檢查下前面下載的安裝包,看下安裝包名,博主下載的安裝包名為cuda_11.6.0_510.39.01_linux.run,首先看11.6.0是CUDA版本沒有問題,其次看510.39.01是要求的驅(qū)動最小版本也沒有問題,最后是linux即安裝的系統(tǒng)也沒有問題,檢查完畢后下面我們開始安裝工作?????

首先cd到安裝包所在目錄,執(zhí)行如下指令:

sudo sh cuda_11.6.0_510.39.01_linux.run

輸入密碼后等待一段時(shí)間,出現(xiàn)下圖,鍵盤按鍵上下移動,Enter按鍵選擇確認(rèn),我們選擇Continue

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

選擇完成后跳轉(zhuǎn)到如下界面,在最下面輸入accept

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

之后跳轉(zhuǎn)到如下界面,選擇你想要安裝的選項(xiàng),

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

我們只考慮安裝CUDA Toolkit 11.6,其他均取消(空格鍵取消),最后的界面如下,選擇到Install,確認(rèn)(等待終端一段時(shí)間,這個(gè)時(shí)候終端沒有任何顯示,不要關(guān)閉?。。?/strong>)

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

最后出現(xiàn)如下界面,表示安裝成功

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

安裝完成之后的路徑:

  • /usr/local/cuda-11.6:Toolkit
  • /usr/local/cuda-11.6/include:頭文件
  • /usr/local/cuda-11.6/lib64:庫文件

13.4 配置環(huán)境變量

CUDA安裝完成之后需要添加一下環(huán)境變量,輸入如下指令打開配置文件:

sudo gedit ~/.bashrc

在最末尾添加如下內(nèi)容(將CUDA版本替換成你自己的)

export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

點(diǎn)擊保存退出,然后刷新一下

source ~/.bashrc

13.5 驗(yàn)證

環(huán)境變量配置完成后,在終端輸入如下指令,有對應(yīng)的輸出代表安裝成功:

nvcc --version

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

13.6 小結(jié)

CUDA的安裝流程其實(shí)并不復(fù)雜,難點(diǎn)在于兩個(gè)步驟,一是通過你的顯卡驅(qū)動找到對應(yīng)的CUDA版本,二是能否將外網(wǎng)的CUDA安裝包順利下載下來(需要代理)

14. cuDNN安裝

參考自linux安裝tensorflow,cuda,cudnn安裝,pytorch兼容,RTX30系列GPU兼容cuda

描述:本來想體驗(yàn)下kiwi一鍵安裝CUDA+cuDNN+TensorRT的,但現(xiàn)在還處于內(nèi)測階段,還未公測,等kiwi公測吧,只能先自己來了。cuDNN的安裝按照上面視頻的操作來就行,沒有問題,下面簡單過一遍流程。切記?。?!cuDNN的安裝依賴于CUDA的安裝,請務(wù)必安裝完CUDA后再來安裝cuDNN

14.1 cuDNN下載

cuDNN的版本選擇是根據(jù)CUDA版本來的,在前面CUDA的安裝中,我們選擇的是CUDA 11.6.0版本,依據(jù)此我們來安裝cuDNN

NVIDIA官網(wǎng)cuDNN下載鏈接:https://developer.nvidia.com/rdp/cudnn-archive

打開上面的鏈接,會出現(xiàn)如下的界面(可能需要登陸,可以先注冊一個(gè)NVIDIA賬號,也不麻煩)

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

根據(jù)你的CUDA版本選擇對應(yīng)的cuDNN即可,CUDA 11.x代表CUDA11版本的都支持,博主這里選擇的是Download cuDNN v8.4.0 (April 1st, 2022), for CUDA 11.x,如下所示,點(diǎn)擊之后選擇對應(yīng)的平臺安裝包下載就行,如下面紅色框所示,選擇的是Linux,Ubuntu,x86_64的Tar安裝包

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

注意?。?!訪問的是外網(wǎng),下載慢,最好是開代理

14.2 cuDNN安裝

首先檢查下前面下載的安裝包,看下安裝包名,博主下載的安裝包名為cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz,首先看linux-x86_64即安裝的系統(tǒng)沒有問題,其次看cuda11.6是依賴的cuda版本也沒有問題,檢查完畢后下面我們開始安裝工作?????

首先cd到安裝包所在目錄,進(jìn)行解壓,執(zhí)行如下指令:

tar -xf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz

等待解壓完成,解壓完成之后在目錄下有一個(gè)cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive文件夾,這個(gè)文件夾中又包含includelib兩個(gè)文件夾,分別代表cuDNN頭文件和cuDNN庫文件。

cuDNN非常簡單,就是將這兩個(gè)文件中的所有內(nèi)容復(fù)制到CUDA對應(yīng)的文件夾中,我們來看下接下來的操作

首先輸入如下指令,打開一個(gè)超級窗口(直接復(fù)制權(quán)限不夠):

sudo nautilus
  • 在超級窗口中找到之前安裝好的CUDA路徑,在/usr/local/cuda-11.6
  • 將cudnn解壓包中include文件全部復(fù)制到/usr/local/cuda-11.6/include
  • 將cudnn解壓包中lib文件全部復(fù)制到/usr/local/cuda-11.6/lib64

至此,cuDNN的安裝完畢

14.3 小結(jié)

cuDNN的安裝流程其實(shí)并不復(fù)雜,其實(shí)都不能稱之為安裝,就是根據(jù)CUDA版本找到對應(yīng)的cuDNN版本,下載后把其頭文件和庫文件復(fù)制到對應(yīng)CUDA目錄即可。難點(diǎn)在于兩個(gè)步驟,一是通過你的CUDA版本找到對應(yīng)的cuDNN版本,二是能否將外網(wǎng)的cuDNN安裝包順利下載下來(需要代理)

15. TensorRT安裝

參考自Linux安裝TensorRT、Ubuntu20.04安裝TensorRT

描述:本來想體驗(yàn)下kiwi一鍵安裝CUDA+cuDNN+TensorRT的,但現(xiàn)在還處于內(nèi)測階段,還未公測,等kiwi公測吧,只能先自己來了。TensorRT的安裝按照上面視頻的操作來就行,沒有問題,下面簡單過一遍流程。切記?。。ensorRT安裝的版本依賴于CUDA和cuDNN的版本,請先確認(rèn)下CUDA和cuDNN版本

15.1 TensorRT下載

TensorRT的版本是根據(jù)CUDA版本和cuDNN版本來的,在前面的CUDA的安裝中,我們選擇的是CUDA 11.6.0版本,依據(jù)此來安裝TensorRT

NVIDIA官網(wǎng)TensorRT下載鏈接:https://developer.nvidia.com/nvidia-tensorrt-8x-download

打開上面的鏈接,會出現(xiàn)如下的界面(需要登陸,可以先注冊一個(gè)NVIDIA賬號,也不麻煩,可能需要開代理)

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

登陸完成之后,可以看到下面的界面,點(diǎn)擊**I Agree To the Terms of the …**即下面的紅色框,就可以顯示各種TensorRT版本(其中GA版本=>穩(wěn)定版本 EA版本=>測試版本),

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

點(diǎn)開之后就是對應(yīng)TensorRT版本的各種形式的安裝包(包名有提示適合的對應(yīng)的CUDA版本),比如博主選擇的是TensorRT 8.4 GA,選擇的是x86_64架構(gòu),系統(tǒng)是Linux操作系統(tǒng),下載形式選擇壓縮包形式(即TAR Package)下載,適用于CUDA 11.6版本,即TensorRT 8.4 GA for Linux x86_64 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6 and 11.7 TAR Package,如下面的紅色框所示。

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

注意?。?!訪問的是外網(wǎng),下載慢,最好是開代理

15.2 TensorRT安裝

首先檢查下前面下載的安裝包,看下安裝包名,博主下載的安裝包為TensorRT-8.4.1.5.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz,首先看Linux.x86_64即安裝的系統(tǒng)沒有問題,其次看cuda-11.6是依賴的cuda版本也沒有問題,最后看cudnn8.4是依賴的cudnn版本也沒有問題,檢查完畢后下面我們開始安裝工作?????

首先cd到安裝包所在目錄,進(jìn)行解壓,執(zhí)行如下指令:

tar zxf TensorRT-8.4.1.5.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz

等待解壓完成。解壓完成之后在目錄下有一個(gè)TensorRT-8.4.1.5的文件夾

可以移動該文件夾存放在自己想放的目錄下(也可以重命名),如:

mv TensorRT-8.4.1.5 /opt

至此,TensorRT安裝完成

15.3 配置環(huán)境變量

TensorRT安裝完成之后需要添加一下環(huán)境變量,輸入如下指令打開配置文件:

sudo gedit ~/.bashrc

在最末尾添加如下內(nèi)容(將TensorRT版本替換成你自己的)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/TensorRT-8.4.1.5/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/opt/TensorRT-8.4.1.5/bin${PATH:+:${PATH}}

點(diǎn)擊保存退出,然后刷新一下

source ~/.bashrc

15.4 驗(yàn)證

測試代碼:/opt/TensorRT-8.4.1.5/samples/sampleMNIST

在安裝的tensorRT目錄下samples文件夾下用sampleMNIST示例測試

首先進(jìn)入該文件夾

cd /opt/TensorRT-8.4.1.5/samples/sampleMNIST

編譯

make

如下圖所示

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

編譯成功后執(zhí)行如下指令會有對應(yīng)的結(jié)果輸出:

./../../bin/sample_mnist

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

15.5 小結(jié)

TensorRT的安裝流程其實(shí)并不復(fù)雜,其實(shí)都不能稱之為安裝,就是根據(jù)CUDA版本找到對應(yīng)的TensorRT版本,下載后添加下環(huán)境變量即可。難點(diǎn)在于兩個(gè)步驟,一是通過你的CUDA版本找到對應(yīng)的TensorRT版本,二是是否能將外網(wǎng)的TensorRT安裝包順利下載下來(需要代理)

16. 編譯protobuf

參考自Linux下編譯protobuf、Linux下添加protobuf的環(huán)境變量

描述:由于要經(jīng)常使用到tensorRT_Pro這個(gè)repo,因此需要編譯特定版本的protobuf-3.11.4,編譯流程看我下面的即可

16.1 安裝

首先獲取壓縮包,通過我提供的軟件安裝包下載鏈接,里面就有protobuf-3.11.4

解壓

先cd到安裝包路徑,然后解壓,指令如下:

unzip protobuf-3.11.4.zip

編譯

cd protobuf-3.11.4/cmake
cmake . -Dprotobuf_BUILD_TESTS=OFF
cmake --build .

耐心等待編譯完成(需要一段時(shí)間)

創(chuàng)建安裝目錄

我們先要?jiǎng)?chuàng)建一個(gè)文件用于存放安裝后的protobuf的頭文件和庫文件,我們選擇在/home目錄下創(chuàng)建一個(gè)protobuf文件,指令如下:

mkdir protobuf

安裝

安裝的位置選擇上面創(chuàng)建的protobuf路徑即可,指令如下:

make install DESTDIR=/home/jarvis/protobuf

注意:編譯完成后的protobuf文件夾下僅僅只有一個(gè)user一個(gè)文件夾,需要將編譯好的protobuf/user/local下的bin、include、lib文件夾復(fù)制到protobuf當(dāng)前文件夾下,方便后續(xù)tensorRT_Pro項(xiàng)目的CMakeLists.txt的指定。

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

首先打開配置文件,指令如下:

sudo vim /etc/profile

添加如下內(nèi)容保存并退出(注意路徑修改為自己的路徑)

export PATH=$PATH:/home/jarvis/protobuf/bin
export PKG_CONFIG_PATH=/home/jarvis/probobuf/lib/pkgconfig

source生效

source /etc/profile

配置動態(tài)路徑

sudo vim /etc/ld.so.conf

追加如下內(nèi)容(注意路徑修改為自己的路徑)

/home/jarvis/protobuf/lib

驗(yàn)證

protoc --version輸出對應(yīng)版本信息說明安裝成功

17. Pytorch安裝

參考自Ubuntu20.04深度學(xué)習(xí)環(huán)境:CUDA+Pyotrch+Anaconda+VScode、Pytorch-gpu安裝教程

描述:本次介紹pytorch-gpu版本安裝,在安裝GPU版本的pytorch之前,請先確保你安裝了顯卡驅(qū)動,安裝GPU版本的Pytorch只需要你擁有一張顯卡和對應(yīng)的顯卡驅(qū)動即可。切記!?。ytorch的安裝依賴于顯卡驅(qū)動和Anaconda的安裝,請務(wù)必安裝完顯卡驅(qū)動和Anaconda后再來安裝Pytorch

17.1 介紹

首先我們來明確一個(gè)概念,那就是安裝GPU版本pytorch之前需不需要安裝cuda和cudnn呢?,答案是不需要。以下內(nèi)容copy自一文搞懂PyTorch與CUDA那些事

許多同學(xué)誤以為Pytorch和Tensorflow一樣,運(yùn)行時(shí)需要本機(jī)環(huán)境內(nèi)的CUDA和cuDNN支持,但其實(shí)在一臺沒有安裝CUDA的環(huán)境中按照官網(wǎng)的指南安裝PyTorch也是可以正常在GPU上運(yùn)行的。

安裝GPU版本的PyTorch版本號尾部會出現(xiàn)cuxxx的字樣,也就是說,PyTorch在安裝時(shí)會自動安裝所需的CUDA運(yùn)行庫,用戶只需要保持PyTorch版本(包含其內(nèi)部的CUDA版本)、Nvidia驅(qū)動版本和GPU型號相匹配。

CUDA版本與驅(qū)動版本對應(yīng)關(guān)系見下面的鏈接(查看表3即可):

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

通常情況下,只要驅(qū)動滿足要求,并且PyTorch官方有預(yù)編譯相應(yīng)的CUDA版本,直接安裝對應(yīng)版本的PyTorch即可。

注意:安培(Ampere)架構(gòu)GPU(GeForce RTX 30系列顯卡,例如RTX3060)只支持CUDA11.0即以上版本,PyTorch官方只有1.7及以上版本才有預(yù)編譯CUDA11,因此建議使用安培架構(gòu)GPU的同學(xué)使用PyTorch1.7及以上版本

17.2 準(zhǔn)備工作

首先確認(rèn)下安裝的Pytorch版本及其指令。先要查看顯卡驅(qū)動版本和其對應(yīng)的CUDA版本,第13節(jié)有詳細(xì)流程,這里不再贅述,博主的顯卡驅(qū)動為510.108.03,CUDA版本最高支持CUDA 11.6,因此我安裝的GPU版本的Pytorch中的CUDA運(yùn)行庫大于11.0且小于等于11.6都可以。

因此去Pytorch官網(wǎng):https://pytorch.org/ 找一個(gè)適合我的版本,我選擇從歷史版本中尋找,如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

根據(jù)我的CUDA版本限制,我找到了一個(gè)torch版本為v1.12.0,其pip安裝指令如下:

pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116

pytorch的版本確定了,那對于python版本有沒有要求呢?其實(shí)是有的,比如說你的torch-1.12.0+cu116就不能安裝在python3.6下,具體可查看torch的各種whl文件

torch和對應(yīng)python版本查看鏈接:https://download.pytorch.org/whl/torch/

點(diǎn)擊上面的鏈接,你就可以看到所有的torch安裝包,注意!?。∥覀儾⒉皇且螺d安裝,我們只是來確認(rèn)下torch-1.12.0+cu116對應(yīng)的python版本,點(diǎn)擊鍵盤上的ctrl+f輸入cu116就可以找到對應(yīng)CUDA11.6版本的torch了,如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

其中cu116就是對應(yīng)CUDA-11.6,cp-38-cp-38就是對應(yīng)python-3.8版本,因此,從上圖的紅色框中可知,torch-1.12.0+cu116可以安裝的python版本為3.7/3.8/3.9/3.10均可,大家根據(jù)自己的實(shí)際情況來進(jìn)行選擇

17.3 安裝

1.創(chuàng)建虛擬環(huán)境

conda create -n yolov8 python=3.8

其中,yolov8虛擬環(huán)境名,可以自己設(shè)置,python版本如果不指定默認(rèn)安裝最新的,而在之前的分析中,我們知道了后續(xù)的torch-1.12.0+cu116的安裝對應(yīng)的python版本為3.7/3.8/3.9/3.10,因此我們指定創(chuàng)建的虛擬環(huán)境的python版本為3.8

2.切換到新建虛擬環(huán)境下

conda activate yolov8

3.查看對應(yīng)的pip源

pip config list

確保pip安裝的源是清華源或阿里云的源,可以查看2.2小節(jié)的pip換源,也可以在每次pip install軟件的時(shí)候加上-i https://pypi.tuna.tsinghua.edu.cn/simple,不過這樣比較麻煩,博主輸入pip coinfig list后的輸出如下

global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'

4.輸入選擇的安裝命令

pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116

安裝包很大,耐心等待安裝完成即可,如下圖所示

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

特別注意!??!如果安裝失敗,則可以將創(chuàng)建的虛擬環(huán)境完全移除,重新在pytorch官網(wǎng)選擇一個(gè)合適的torch安裝指令,按照上面步驟重新來過,移除指令如下:

conda activate base
conda remove -n pytorch-gpu --all

17.4 驗(yàn)證

1.激活虛擬環(huán)境

conda activate yolov8

2.進(jìn)入python環(huán)境

python

3.導(dǎo)入torch

import torch
torch.cuda.is_available()

輸出為True,說明安裝成功,如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

18. 編譯OpenBLAS

描述:最近在學(xué)習(xí) Algo C++ 課程時(shí)需要使用到 OpenBLAS 第三方庫,因此需要編譯該庫方便后續(xù)使用,編譯流程看我下面的即可

OpenBLAS介紹:OpenBLAS 是一個(gè)快速的、開源的、高性能的基礎(chǔ)線性代數(shù)庫,其主要提供矩陣運(yùn)算相關(guān)的函數(shù)和 API。OpenBLAS 支持一些常見的矩陣運(yùn)算,如矩陣相乘、矩陣向量相乘、矩陣的轉(zhuǎn)置、求解線性方程組、特征值分解等等,其內(nèi)部實(shí)現(xiàn)了多線程技術(shù)和 SIMD 指令加速,可以有效地利用多核 CPU 的計(jì)算能力,提高計(jì)算速度。在機(jī)器學(xué)習(xí)和科學(xué)計(jì)算等領(lǐng)域中,OpenBLAS 是一個(gè)廣泛應(yīng)用的高性能數(shù)學(xué)庫之一。而對于 CUDA 上的矩陣運(yùn)算操作,我們也可以調(diào)用對應(yīng)的 cuBLAS 第三方庫進(jìn)行運(yùn)算。(from chatGPT)

18.1 準(zhǔn)備工作

在編譯之前需明確自己的 TARGET 即 CPU 設(shè)備型號,首先打開終端使用如下指令可查看對應(yīng)的CPU

cat /proc/cpuinfo | grep 'model name' | uniq

博主的 CPU 如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

接下來查看 CPU 型號所對應(yīng)的 TARGET 名稱,具體查看 OpenBLAS 源碼的 TargetList.txt 文檔,下面是 X86/X86_64 架構(gòu)支持的列表,更多支持可查看源文檔

Force Target Examples:

make TARGET=NEHALEM
make TARGET=LOONGSON3A BINARY=64
make TARGET=ISTANBUL

Supported List:
1.X86/X86_64
a)Intel CPU:
P2
KATMAI
COPPERMINE
NORTHWOOD
PRESCOTT
BANIAS
YONAH
CORE2
PENRYN
DUNNINGTON
NEHALEM
SANDYBRIDGE
HASWELL
SKYLAKEX
ATOM
COOPERLAKE

b)AMD CPU:
ATHLON
OPTERON
OPTERON_SSE3
BARCELONA
SHANGHAI
ISTANBUL
BOBCAT
BULLDOZER
PILEDRIVER
STEAMROLLER
EXCAVATOR
ZEN

c)VIA CPU:
SSE_GENERIC
VIAC3
NANO

具體如何查看自己 CPU 型號對應(yīng)的 Target 呢?

博主也沒有找到合適的方法,只能問問 chatGPT,希望它不要犯病??。博主是 Inter CPU 從其中選擇的是 HASWELL

18.2 編譯

本次編譯選擇從源碼編譯,首先獲取壓縮包,可以通過我提供的軟件安裝包下載鏈接,里面有 OpenBLAS-0.3.17,也可以通過 https://github.com/xianyi/OpenBLAS/tags 選擇不同的版本進(jìn)行編譯

解壓

先 cd 到安裝包路徑,然后解壓,指令如下:

unzip OpenBLAS-0.3.17

創(chuàng)建安裝目錄

我們先要?jiǎng)?chuàng)建一個(gè)文件用于存放安裝后的 OpenBLAS 的頭文件和庫文件,我們選擇在當(dāng)前目錄下創(chuàng)建一個(gè) OpenBLAS 文件夾,指令如下:

mkdir OpenBLAS

創(chuàng)建auto.sh

這次按照杜老師寫的腳本來自動完成整個(gè)編譯過程,在與 OpenBLAS-0.3.17 的同級目錄下創(chuàng)建一個(gè)腳本文件 auto.sh 用于完成自動編譯 OpenBLAS-0.3.17 的過程,其腳本文件中的內(nèi)容如下:

#!/bin/bash

set -e

if [ "$(whoami)" == "root" ];
then
    apt install cmake gfortran libblas-dev libblas3 -y
else
    echo Please input password to execute \"sudo apt install cmake gfortran libblas-dev libblas3 -y\"
    sudo apt install cmake gfortran libblas-dev libblas3 -y
fi

cd OpenBLAS-0.3.17
make TARGET=HASWELL -j
make PREFIX=../OpenBLAS install -j

cd ../
rm -rf OpenBLAS-0.3.17
  • 腳本首先檢查當(dāng)前用戶是否為 root 用戶,如果是,則直接安裝必要的依賴庫,否則需要用戶輸入密碼以執(zhí)行 sudo 命令安裝依賴庫。
  • 接著進(jìn)入 OpenBLAS 源碼目錄,執(zhí)行 make 命令進(jìn)行編譯,通過參數(shù) -j 指定使用多線程加速編譯,-j 后面的數(shù)字表示并行編譯線程數(shù),根據(jù)機(jī)器配置合理設(shè)置。注意TARGET修改為你自己所選擇的
  • 然后執(zhí)行 make install 命令安裝編譯好的 OpenBLAS 庫到指定路徑。注意PEEFIX為安裝的路徑,如果你想將 OpenBLAS 安裝到別的目錄請修改
  • 最后刪除 OpenBLAS 源碼目錄,清理環(huán)境。這個(gè)腳本適用于 Ubuntu 等基于 Debian 的 Linux 系統(tǒng)。
  • 切記?。?!當(dāng)需要編譯其它版本的OpenBLAS庫的時(shí)候,需要簡單修改下 auto.sh 腳本文件的內(nèi)容,將 cd 到的文件夾修改為你解壓的文件夾

安裝

auto.sh 和 解壓后的 OpenBLAS-0.3.17 文件夾放在同一級目錄下,執(zhí)行如下代碼:

bash auto.sh

編譯安裝過程可能有點(diǎn)慢,請耐心等待

安裝完成后會出現(xiàn)如下提示,且在當(dāng)前目錄下會存在編譯好的 OpenBLAS 的頭文件和庫文件

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

18.3 驗(yàn)證

利用OpenBLAS的cblas_sgemm寫一個(gè)簡單矩陣相乘的示例

創(chuàng)建一個(gè) workspace 文件夾存放編譯后的程序文件,創(chuàng)建一個(gè) src 文件夾存放源文件,創(chuàng)建一個(gè)makefile 文件用于編譯。整個(gè)項(xiàng)目的整體結(jié)構(gòu)如下:

.
├── auto.sh
├── makefile
├── OpenBLAS
│   ├── bin
│   ├── include
│   └── lib
├── OpenBLAS-0.3.17.zip
├── src
│   └── main.cpp
└── workspace

6 directories, 4 files

src/main.cpp 內(nèi)容如下:

#include <iostream>
#include <cblas.h>

int main()
{
    const int N = 3;
    const float alpha = 1.0;
    const float beta = 0.0;

    float A[N][N] = {{1, 2, 3},
                     {4, 5, 6},
                     {7, 8, 9}};
    float B[N][N] = {{1, 1, 1},
                     {0, 1, 0},
                     {0, 0, 1}};
    float C[N][N] = {0};

    cblas_sgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,
                N, N, N, alpha, &A[0][0], N, &B[0][0], N, beta, &C[0][0], N);

    std::cout << "A x B = " << std::endl;
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < N; ++j)
        {
            std::cout << C[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

makefile 內(nèi)容如下:

# 1.參數(shù)定義
cc        := g++
name      := pro
workdir   := workspace
srcdir    := src
objdir    := objs
stdcpp    := c++11

# 定義cpp的路徑查找和依賴項(xiàng)mk文件
cpp_srcs := $(shell find $(srcdir) -name "*.cpp")
cpp_objs := $(cpp_srcs:.cpp=.cpp.o)
cpp_objs := $(cpp_objs:$(srcdir)/%=$(objdir)/%)
cpp_mk   := $(cpp_objs:.cpp.o=.cpp.mk)

# 定義cu文件的路徑查找和依賴項(xiàng)mk文件
cu_srcs := $(shell find $(srcdir) -name "*.cu")
cu_objs := $(cu_srcs:.cu=.cu.o)
cu_objs := $(cu_objs:$(srcdir)/%=$(objdir)/%)
cu_mk   := $(cu_objs:.cu.o=.cu.mk)

# 定義opencv和cuda需要用到的庫文件
link_sys       := stdc++ dl openblas
link_librarys  := $(link_sys)

# 定義頭文件路徑,請注意斜杠后邊不能有空格
# 只需要寫路徑,不需要寫-I
include_paths := src OpenBLAS/include			# 注意!!! 如果OpenBLAS安裝在其他目錄,請修改頭文件路徑

# 定義庫文件路徑,只需要寫路徑,不需要寫-L
library_paths := $(shell pwd)/OpenBLAS/lib		# 注意!!! 如果OpenBLAS安裝在其他目錄,請修改庫文件路徑

# 把library path給拼接為一個(gè)字符串,例如a b c => a:b:c
# 然后使得LD_LIBRARY_PATH=a:b:c
empty := 
library_path_export := $(subst $(empty) $(empty),:,$(library_paths))

# 把庫路徑和頭文件路徑拼接起來成一個(gè),批量自動加-I、-L、-l
run_paths     := $(foreach item,$(library_paths),-Wl,-rpath=$(item))
include_paths := $(foreach item,$(include_paths),-I$(item))
library_paths := $(foreach item,$(library_paths),-L$(item))
link_librarys := $(foreach item,$(link_librarys),-l$(item))

# 如果是其他顯卡,請修改-gencode=arch=compute_75,code=sm_75為對應(yīng)顯卡的能力
# 顯卡對應(yīng)的號碼參考這里:https://developer.nvidia.com/zh-cn/cuda-gpus#compute
# 如果是 jetson nano,提示找不到-m64指令,請刪掉 -m64選項(xiàng)。不影響結(jié)果
cpp_compile_flags := -std=$(stdcpp) -w -g -O0 -m64 -fPIC -fopenmp -pthread
link_flags        := -pthread -fopenmp -Wl,-rpath='$$ORIGIN'

cpp_compile_flags += $(include_paths)
link_flags        += $(library_paths) $(link_librarys) $(run_paths)

# 如果頭文件修改了,這里的指令可以讓他自動編譯依賴的cpp或者cu文件
ifneq ($(MAKECMDGOALS), clean)
-include $(cpp_mk) $(cu_mk)
endif

$(name)   : $(workdir)/$(name)

all       : $(name)
run       : $(name)
	@cd $(workdir) && ./$(name) $(run_args)

$(workdir)/$(name) : $(cpp_objs) $(cu_objs)
	@echo Link $@
	@mkdir -p $(dir $@)
	@$(cc) $^ -o $@ $(link_flags)

$(objdir)/%.cpp.o : $(srcdir)/%.cpp
	@echo Compile CXX $<
	@mkdir -p $(dir $@)
	@$(cc) -c $< -o $@ $(cpp_compile_flags)

# 編譯cpp依賴項(xiàng),生成mk文件
$(objdir)/%.cpp.mk : $(srcdir)/%.cpp
	@echo Compile depends C++ $<
	@mkdir -p $(dir $@)
	@$(cc) -M $< -MF $@ -MT $(@:.cpp.mk=.cpp.o) $(cpp_compile_flags)
    
# 定義清理指令
clean :
	@rm -rf $(objdir) $(workdir)/$(name)
	@rm -rf $(workdir)/mnist

# 防止符號被當(dāng)做文件
.PHONY : clean run $(name)

# 導(dǎo)出依賴庫路徑,使得能夠運(yùn)行起來
export LD_LIBRARY_PATH:=$(library_path_export)

在終端執(zhí)行 make run 即可看到兩個(gè)矩陣相乘的結(jié)果,如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

19. 編譯FFmpeg

參考自FFMpeg學(xué)習(xí)筆記–Ubuntu20.04編譯FFmpeg、FFplay和FFprobe

描述:最近在學(xué)習(xí)視頻流媒體的編解碼,在學(xué)習(xí) hard_decode_trt 項(xiàng)目時(shí)需要使用到 FFMpeg 第三方庫,因此需要編譯該庫方便后續(xù)使用。編譯流程按照上文的操作即可,值得注意的是 hard_decode_trt 使用的 FFmpeg-4.2 版本,博主編譯過 FFmpeg-5.1 版本,發(fā)現(xiàn)在 FFmpeg 中有一些 API 發(fā)生了改變,導(dǎo)致 hard_decode_trt 項(xiàng)目無法運(yùn)行起來,所以為了讓問題更加簡單化,博主也是編譯的 FFmpeg-4.2,其它版本的編譯也可以按照上文的流程走,沒有問題。

FFmpeg介紹:FFmpeg 是一款跨平臺的、開源的音視頻處理軟件。它可以對音視頻進(jìn)行編解碼、轉(zhuǎn)碼、剪輯、合并等處理,支持多種格式的音視頻文件。在視頻流媒體編解碼中,F(xiàn)Fmpeg 通常被用來進(jìn)行解封裝、編碼、解碼、轉(zhuǎn)換等操作。它通過將原始的音視頻數(shù)據(jù)流解封裝成一幀一幀的數(shù)據(jù),然后將這些數(shù)據(jù)傳輸給硬件編碼器(例如 NVIDIA 的 NVDEC)。硬件編碼器將編碼后的數(shù)據(jù)傳輸回 FFmpeg,再由 FFmpeg 將編碼后的數(shù)據(jù)封裝稱所需要的視頻格式,例如 MP4、AVI 等。FFmpeg 提供了必要的解封裝和編解碼功能,使得視頻編解碼更加高效、簡單和方便。

19.1 下載FFmpeg

下載 4.2 版本的 ffmpeg,指令如下:

wget http://www.ffmpeg.org/releases/ffmpeg-4.2.tar.gz

可以將鏈接復(fù)制到瀏覽器中下載,外網(wǎng)訪問慢,建議開代理。也可以點(diǎn)擊 here[pwd:yolo] 下載博主準(zhǔn)備好的安裝包

解壓下載好的壓縮包

tar -zxvf ffmpeg-4.2.tar.gz

19.2 編譯FFmpeg

進(jìn)入解壓后的文件夾

cd ffmpeg-4.2

安裝依賴

# 安裝ffplay需要的依賴
sudo apt-get install libx11-dev xorg-dev libsdl2-2.0 libsdl2-dev

sudo apt install clang libfdk-aac-dev libspeex-dev libx264-dev libx265-dev libnuma-dev

sudo apt install yasm pkg-config libopencore-amrnb-dev libopencore-amrwb-dev

編譯FFmpeg

# 查看幫助文檔確定需要安裝的相關(guān)參數(shù)
./configure --help

配置相關(guān)參數(shù)

./configure --disable-static --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-ffplay --enable-ffprobe --enable-libx264 --enable-libx265 --enable-debug

注意這里博主與參考的博文設(shè)置不太一樣,博主新增了 --disable-static --enable-shared 參數(shù),讓其編譯成動態(tài)庫且不需要靜態(tài)庫,方便后續(xù) hard_decode_trt 項(xiàng)目的指定。

make編譯

make -j24

:make 這步需要的時(shí)間一般比較長

安裝

sudo make install

耐心等待安裝完成即可。

安裝完成后的 FFmpeg 頭文件在 /usr/local/include 目錄下,庫文件在 /usr/local/lib 目錄下,可執(zhí)行文件在 /usr/local/bin 目錄下

19.3 設(shè)置環(huán)境變量

博主并未設(shè)置,若有需求見參考博文

19.4 驗(yàn)證

查看 FFmpeg 的版本,由于博主未設(shè)置環(huán)境變量,所以先要 cd 到 /usr/local/bin 目錄下

cd /usr/local/bin

ffmpeg -version

查看 FFmpeg 幫助文檔

ffmpeg -h

ffmpeg -h long

ffmpeg -h full

19.5 卸載FFmpeg

卸載非常簡單,指令如下:

# 首先進(jìn)入 ffmpeg 源碼編譯的路徑
cd ffmpeg-4.2

sudo make uninstall

執(zhí)行完成后可以發(fā)現(xiàn)在 /usr/local/include 中 FFmpeg 的頭文件沒有了,在 /usr/local/lib 中 FFmpeg 的庫文件沒有了,在 /usr/local/bin 中 FFmpeg 的可執(zhí)行文件沒有了。

這個(gè)需求非常有必要,當(dāng)你發(fā)現(xiàn)編譯后的 FFmpeg 缺少某些庫時(shí),你可以通過 sudo make uninstall 卸載,然后通過 ./configure 重新配置參數(shù)編譯。當(dāng)你需要替換其它版本的 FFmepg 時(shí),也可以先通過 sudo make uninstall 卸載,然后下載其它版本的 FFmpeg,通過上述操作重新編譯。

20. NVIDIA VIDEO_CODEC_SDK

在學(xué)習(xí)視頻流硬解碼過程中需要用到視頻解碼的 GPU 硬件加速器引擎,而 NVIDIA 提供了一個(gè)用于視頻編解碼的 SDK 即 NVIDIA VIDEO_CODEC_SDK,它是一個(gè) API 套件,包含高性能工具、樣本和文檔,適用于 Windows 和 Linux 的硬件加速型視頻編碼和解碼。此 SDK 包含兩個(gè)硬件加速接口:

  • 用于視頻編碼加速的 NVENCODE API
  • 用于視頻解碼加速的 NVDECODE API(舊稱 NVCUVID API)

NVENC:硬件加速的視頻編碼

從 Kepler 這一代開始,NVIDIA GPU 包含基于硬件的編碼器(簡稱為 NVENC),可提供基于硬件的全加速視頻編碼,且獨(dú)立于圖形性能。由于計(jì)算復(fù)雜的編碼工作流完全卸載至 NVENC,圖形引擎和 CPU 可以有更多的事件執(zhí)行其它操作。

NVDEC:硬件加速的視頻解碼

NVIDIA GPU 包含基于硬件的解碼器(簡稱為 NVDEC),可為幾種熱門的編解碼器提供基于硬件的全加速視頻解碼。由于解碼工作流完全卸載至 NVDEC,圖形引擎和 CPU 可以有更多的事件執(zhí)行其它操作。NVDEC 比實(shí)時(shí)解碼速度更快,非常適合于轉(zhuǎn)碼應(yīng)用以及視頻播放應(yīng)用。

Copy 自 NVIDIA 視頻編解碼器 SDK

由于是 SDK 不需要編譯,直接下載解壓拿來用就行,其下載地址為:

  • https://developer.nvidia.com/nvidia-video-codec-sdk/download

現(xiàn)在最新的 SDK 為 12.0 版本,其系統(tǒng)要求如下圖,Linux 下顯卡驅(qū)動要求為 520.56.06 或者更新,且只支持 NVIDIA Quadro,Tesla,GRID 以及 GeForce 系列產(chǎn)品

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

其歷史版本可通過 https://developer.nvidia.com/video-codec-sdk-archive 下載,也可以點(diǎn)擊 here[pwd:yolo] 下載博主準(zhǔn)備好的安裝包(提供 10.0、11.0、11.1、12.0 四個(gè)版本的 SDK,根據(jù)自己的需求下載即可) ,每個(gè)版本都有對應(yīng)的顯卡驅(qū)動要求,例如 11.0 要求 Linux 下顯卡驅(qū)動大于等于 455.27。下載完成后解壓即可,后續(xù)可通過 makefile 文件進(jìn)行其頭文件和庫文件的指定。

21. Eigen

描述:最近在學(xué)習(xí) CPD 點(diǎn)集配準(zhǔn)方法,在學(xué)習(xí) https://github.com/gadomski/cpd 項(xiàng)目時(shí)需要使用到 Eigen 庫用于進(jìn)行數(shù)學(xué)運(yùn)算。值得注意的是,Eigen 庫本身不需要編譯,它是一個(gè)頭文件,這意味著你無需單獨(dú)編譯它,只要將相應(yīng)的頭文件包含在項(xiàng)目中,就可以直接使用它的功能了。

Eigen介紹:Eigen 是一個(gè)用于 C++ 的開源線性代數(shù)庫,它提供了豐富的線性代數(shù)運(yùn)算功能,包括矩陣運(yùn)算、向量運(yùn)算、線性方程求解、特征值和特征向量計(jì)算等。Eigen 庫是一個(gè)純頭文件庫,因此使用起來非常方便,無需編譯額外的庫文件,只需將相應(yīng)的頭文件包含在你的項(xiàng)目中即可。

以下是 Eigen 庫的一些特點(diǎn)和優(yōu)勢:

1. 簡潔易用:Eigen 的 API 設(shè)計(jì)簡單直觀,易于學(xué)習(xí)和使用,提供了類似于 MATLAB 的矩陣和向量表示方式,使得代碼編寫更加清晰和易讀。

2. 高性能:Eigen 庫在設(shè)計(jì)上注重運(yùn)行時(shí)性能,采用了各種優(yōu)化技術(shù),同時(shí)支持向量化指令,使得它在進(jìn)行大規(guī)模線性代數(shù)計(jì)算時(shí)表現(xiàn)出色。

3. 功能豐富:Eigen 提供了大量的線性代數(shù)運(yùn)算函數(shù),包括基本的矩陣和向量操作,以及線性方程組求解、特征值和特征向量計(jì)算、矩陣分解等高級功能。

4. 跨平臺:Eigen 是一個(gè)跨平臺的庫,可以在各種操作系統(tǒng)和編譯器上運(yùn)行,無需擔(dān)心兼容性問題。

5. 自由開源:Eigen 遵循 MPL2.0 協(xié)議,可以免費(fèi)用于商業(yè)和非商業(yè)項(xiàng)目。

由于 Eigen 庫的優(yōu)雅設(shè)計(jì)和高性能,它被廣泛應(yīng)用于各種領(lǐng)域,如科學(xué)計(jì)算、機(jī)器學(xué)習(xí)、計(jì)算機(jī)圖形學(xué)等

21.1 下載Eigen

你需要從 Eigen 官方網(wǎng)站 https://eigen.tuxfamily.org/index.php?title=Main_Page 中下載對應(yīng)的源文件壓縮包,如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT

在這里博主選擇了一個(gè)相對穩(wěn)定的版本 Eigen-3.4.0

21.2 使用Eigen

我們把下載好的 Eigen 進(jìn)行解壓后就可以使用了,我們來寫一個(gè)簡單的示例代碼看看效果

main.cpp 內(nèi)容如下:

#include <iostream>
#include <Eigen/Dense>

int main() {
    Eigen::MatrixXd matrix(2, 2);
    matrix << 1, 2,
              3, 4;

    Eigen::VectorXd vector(2);
    vector << 5, 6;

    Eigen::VectorXd result = matrix * vector;

    std::cout << "Matrix * Vector = \n" << result << std::endl;

    return 0;
}

CMakeLists.txt 文件如下:

cmake_minimum_required(VERSION 3.5)
project(EigenExample)

# 設(shè)置編譯器
set(CMAKE_CXX_STANDARD 11)

# 指定Eigen3的頭文件路徑
include_directories(/path/to/custom_eigen3)

# 設(shè)置可執(zhí)行文件
add_executable(eigen_example main.cpp)

你需要修改 Eigen 庫的路徑為你使用的路徑,然后將上述兩個(gè)文件(main.cpp和CMakeLists.txt)放在同一個(gè)目錄下,執(zhí)行以下命令來編譯你的程序:

mkdir build
cd build
cmake ..
make

編譯運(yùn)行效果如下圖所示:

ubuntu20.04,環(huán)境配置,Ubuntu20.04,軟件安裝,CUDA,pytorch,tensorRT文章來源地址http://www.zghlxwxcb.cn/news/detail-755036.html

到了這里,關(guān)于Ubuntu20.04軟件安裝大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ubuntu20.04安裝pytorch(包括安裝Anaconda和虛擬環(huán)境配置以及安裝包spikingjelly)

    Ubuntu20.04安裝pytorch(包括安裝Anaconda和虛擬環(huán)境配置以及安裝包spikingjelly)

    為了防止自己遺忘安裝過程,同時(shí)能對需要的人提供幫助,故寫該教程。 一、安裝Anaconda 1.下載安裝包 這里進(jìn)入官網(wǎng),進(jìn)行下載 Anaconda | Anaconda Distribution Anaconda\\\'s open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. https://www.anaconda.com/pr

    2024年02月05日
    瀏覽(22)
  • Ubuntu 20.04 Ubuntu18.04安裝錄屏軟件Kazam

    Ubuntu 20.04 Ubuntu18.04安裝錄屏軟件Kazam

    ? 選擇Screencast(錄屏) Fullscreen(全屏)-----Windows(窗口)--------Area(區(qū)域)、 然后點(diǎn)擊Capture,開始錄制。 右上角有一個(gè)Finish recording 4.然后點(diǎn)擊Continue,將所錄制的視頻保存在你想要的文件夾里面。 ? 5.下載MP4播放器? 然后你就可以播放你所錄制的視頻了。 在windows下面你得用

    2024年02月15日
    瀏覽(29)
  • ubuntu20.04配置OpenCV的C++環(huán)境

    ubuntu20.04配置OpenCV的C++環(huán)境

    這里以opencv-3.4.16為例 復(fù)現(xiàn)https://github.com/raulmur/ORB_SLAM2此項(xiàng)目,需安裝opencv及其他依賴,可見README.md詳情 https://opencv.org/releases/ https://github.com/opencv/opencv_contrib 如果在執(zhí)行第三個(gè)命令時(shí)提示“Unable to locate package libjasper-dev”,應(yīng)該是下載源的問題。解決方法如下: 然后再執(zhí)行一

    2024年02月05日
    瀏覽(27)
  • Ubuntu 20.04 系統(tǒng)配置 OpenVINO 2022.3 環(huán)境

    Ubuntu 20.04 系統(tǒng)配置 OpenVINO 2022.3 環(huán)境

    由于 OpenVINO 2021 版本在調(diào)用 IECore 時(shí)會出現(xiàn) Segmentation fault 的問題,因此需要將其升級為 2022 版本的。 1. 卸載原來版本的 OpenVINO 進(jìn)入OpenVINO的卸載目錄,通常在 /opt/intel 文件夾下, 之后執(zhí)行卸載程序,一路next即可 之后將 ~/.bashrc 中原本的 source 那行注釋掉 注釋以下這行 至此

    2024年02月03日
    瀏覽(28)
  • 【環(huán)境】Ubuntu20.04 安裝 Anaconda 順順利利

    【環(huán)境】Ubuntu20.04 安裝 Anaconda 順順利利

    source一下 中間遇到了一個(gè)問題,用下面的鏈接輕松解決了 關(guān)于修改anaconda安裝路徑的問題

    2024年02月07日
    瀏覽(24)
  • 【一生一芯】Chap.1 “一生一芯”實(shí)驗(yàn)環(huán)境配置| VMware安裝Ubuntu20.04 | PA工程配置 | 解決llvm版本問題

    【一生一芯】Chap.1 “一生一芯”實(shí)驗(yàn)環(huán)境配置| VMware安裝Ubuntu20.04 | PA工程配置 | 解決llvm版本問題

    前言:搞環(huán)境搞了三個(gè)晚上,解決了llvm的問題,成功下載“一生一芯”框架代碼即南大計(jì)算機(jī)PA,成功編譯運(yùn)行。 PA0 - 世界誕生的前夜: 開發(fā)環(huán)境配置 PA0的講解實(shí)驗(yàn)講義 ??PA:(Programming Assignment)。是一個(gè)小型項(xiàng)目,來自于南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系《計(jì)算機(jī)系統(tǒng)基礎(chǔ)課程

    2023年04月24日
    瀏覽(22)
  • Ubuntu系統(tǒng)安裝、配置與美化(Ubuntu20.04)

    Ubuntu系統(tǒng)安裝、配置與美化(Ubuntu20.04)

    本文的寫作目的在于幫助完全零基礎(chǔ)的小白不理解原理而可以 無腦安裝Linux系統(tǒng) ,同時(shí)也是為自己進(jìn)行的一個(gè)整理,相較于網(wǎng)上大多數(shù)的教程,本教程將一些內(nèi)容進(jìn)行了整合與整理,加之本人在安裝Ubuntu系統(tǒng)的時(shí)候聽從學(xué)長的教導(dǎo)了解的內(nèi)容,對于部分的網(wǎng)絡(luò)常見的教程進(jìn)行

    2023年04月17日
    瀏覽(23)
  • Ubuntu20.04系統(tǒng)配置Pytorch環(huán)境(GPU版)

    Ubuntu20.04系統(tǒng)配置Pytorch環(huán)境(GPU版)

    Ubuntu和NVIDIA Driver的安裝請參考其他博主的文章,主要是當(dāng)時(shí)安裝的時(shí)候沒記錄,現(xiàn)在不想再折騰這兩個(gè)東西了。 需要補(bǔ)充的幾個(gè)點(diǎn): 安裝Ubuntu系統(tǒng)前,多看幾遍教程,如果是筆記本安裝雙系統(tǒng),最好是看和自己品牌相同的筆記本對應(yīng)的博客,因?yàn)椴煌瑥S家的BIOS設(shè)置有一些差

    2024年04月09日
    瀏覽(24)
  • 安裝配置 JupyterLab ubuntu20.04

    安裝配置 JupyterLab ubuntu20.04

    目錄 ?編輯 (1)安裝? (2)配置 (1)生成配置文件 ?(2)生成jupyterlab的登錄密碼 (3)修改 jupyter 的配置文件 (4)安裝 jupyterlab 插件? (3)啟動 ?安裝時(shí)保持software updater設(shè)置如下 安裝jupyterlab時(shí)有warning 參考后解決:(1條消息) WARNING: The scripts ... are installed in /home/.../.

    2023年04月21日
    瀏覽(57)
  • Ubuntu20.04安裝配置Nginx

    由于在學(xué)習(xí)配置時(shí),網(wǎng)上的教程比較雜亂,用時(shí)很久才做好一些基礎(chǔ)配置,把流程記錄一下方便和我一樣的小白學(xué)習(xí) 本文寫于2023.2.10,如果間隔太久,下述內(nèi)容可能會失效,請另尋教程 僅包含基礎(chǔ)教程,個(gè)人服務(wù)未涉及到負(fù)載均衡 安裝nginx 配置靜態(tài)服務(wù)器 配置端口轉(zhuǎn)發(fā) 配

    2024年02月03日
    瀏覽(54)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包