文章目錄
- 前言
- 一、使用VMware安裝ubuntu16.04
- 二、LINUX基本指令
- 1.LINUX簡單介紹
- 2.基本指令
- 三、配置GCC
- 1.GCC簡介
- 2.安裝GCC
- 3.安裝并不同的GCC版本
- 4.GCC基本命令
- 四、配置qtcreator
- 1.為什么選擇qtcreator
- 2.安裝qtcreator
- 3.使用qtcreator配置C++運行環境
- 五、配置Opencv
- 1.下載opencv
- 2.安裝opencv
- 3.測驗
- 六、使用QTcreator運行opencv程式
- 碎碎念
前言
在日常的學習生活中,我們難免會碰到一些特定的需求,比如在ubuntu16.04中使用qtcreator運行Opencv程式之類,因此,在本片文章中,會一步一步教讀者從配置虛擬機,安裝ubuntu16.04系統,學習linux一些基礎指令,安裝GCC和qtcreator以及配置opencv的環境,同時拓展其中的部分知識點,作為涵蓋了較多內容的一篇教程,很難做到所有內容均為原創,一些地方會直接參考其他人的教程,或者直接給出鏈接,讀者可以根據目錄檢索自己需要的內容,
一、使用VMware安裝ubuntu16.04
因為前人的教程已經相當完善,這里直接貼出鏈接,根據自己下載的軟體版本進行微調,
VMware虛擬機安裝Ubuntu16-18系統超詳細程序(含下載地址)
二、LINUX基本指令
1.LINUX簡單介紹
Linux是指一種計算機作業系統:Linux也可指作業系統的內核,實際應用上人們已經習慣了用Linux來形容整個基于Linux內核,并且搭載了各種人機界面,應用和服務軟體的作業系統,基于這些組件的Linux軟體被稱為Linux發行版,
而Ubuntu是Linux的一個分支發行套件,繼承了LINUX系統的所有優點:開源、免費、自由、安全,并且具有出色的圖形化界面,適合學習linux系統和開發linux應用程式,
2.基本指令
一、檔案/檔案夾管理
ls 列出當前目錄檔案(不包括隱含檔案)
ls -a 列出當前目錄檔案(包括隱含檔案)
ls -l 列出當前目錄下檔案的詳細資訊
cd … 回當前目錄的上一級目錄
cd - 回上一次所在的目錄
cd ~ 或 cd 回當前用戶的宿主目錄
mkdir 目錄名 創建一個目錄
rmdir 空目錄名 洗掉一個空目錄
rm 檔案名 檔案名 洗掉一個檔案或多個檔案
rm -rf 非空目錄名 洗掉一個非空目錄下的一切
mv 路經/檔案 /經/檔案移動相對路經下的檔案到絕對路經下
mv 檔案名 新名稱 在當前目錄下改名
find 路經 -name “字串” 查找路經所在范圍內滿足字串匹配的檔案和目錄
二、系統管理
fdisk fdisk -l 查看系統磁區資訊
fdisk fdisk /dev/sdb 為一塊新的SCSI硬碟進行磁區
chown chown root /home 把/home的屬主改成root用戶
chgrp chgrp root /home 把/home的屬組改成root組
Useradd 創建一個新的用戶
Groupadd 組名 創建一個新的組
uname -a 查看內核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb設備
sudo ethtool eth0 查看網卡狀態
cat /proc/cpuinfo 查看cpu資訊
lshw 查看當前硬體資訊
sudo fdisk -l 查看磁盤資訊
df -h 查看硬碟剩余空間
free -m 查看當前的記憶體使用情況
ps -A 查看當前有哪些行程
kill 行程號(就是ps -A中的第一列的數字)或者 killall 行程名( 殺死一個行程)
kill -9 行程號 強制殺死一個行程
reboot Init 6 重啟LINUX系統
Halt Init 0 Shutdown –h now 關閉LINUX系統
三、打包/解壓
tar -c 創建包 –x 釋放包 -v 顯示命令程序 –z 代表壓縮包
tar –cvf benet.tar /home/benet 把/home/benet目錄打包
tar –zcvf benet.tar.gz /mnt 把目錄打包并壓縮
tar –zxvf benet.tar.gz 壓縮包的檔案解壓恢復
tar –jxvf benet.tar.bz2 解壓縮
四、make編譯
make 編譯
make install 安裝編譯好的原始碼包
以上為linux系統命令的基本內容,更多的請上網了解
三、配置GCC
為了得到良好的安裝體驗,國內的讀者建議在ubuntu上安裝任何軟體前先將軟體的下載源切換為國內的清華源或者阿里源,
1.GCC簡介
參考文章:淺顯易懂的GCC使用教程——初級篇
GCC(GNU Compiler Collection)即GNU編譯器套件,屬于一種編程語言編譯器,其原名為GCC(GNU C Compiler)即GNU c語言編譯器,雖然縮寫一樣但是功能上區別很大,GCC的初衷是為GNU作業系統專門撰寫的一款編譯器,原本的GNU是專用于編譯C代碼,現如今已擴展為可以編譯C、C++、Java、Objective-C等多種編程語言的編譯器集合了,這里主要介紹gcc或g++的使用,
gcc(GUN C Compiler)是GCC中的c編譯器,而g++(GUN C++ Compiler)是GCC中的c++編譯器,
gcc和g++兩者都可以編譯c和cpp檔案,但存在差異,gcc在編譯cpp時語法按照c來編譯但默認不能鏈接到c++的庫(gcc默認鏈接c庫,g++默認鏈接c++庫),g++編譯.c和.cpp檔案都統一按cpp的語法規則來編譯,所以一般編譯c用gcc,編譯c++用g++,
2.安裝GCC
首先,這里使用的ubuntu16.04中是自帶GCC的,可以使用gcc --version查看當前gcc的版本,

如果當前系統沒有gcc的話,可以使用以下的方法安裝:
默認的Ubuntu存盤庫包含一個名為build-essential的元包,它包含GCC編譯器以及編譯軟體所需的許多庫和其他實用程式,這意味著,安裝了build-essential同時也就是安裝gcc和g++編譯器,
1.首先輸入 sudo apt update更新包串列,
這里對這條指令作出簡單的決議:
這句我們可以拆成三部分,sudo,apt,update
在ubuntu 系統下,sudo為“superuser do”的縮寫,其主要功能就是提權,因為后方的apt update需要root權限也就是系統中最高的權限運行,apt會在普通用戶無法操作的目錄進行作業,所以需要大哥來干活(指root用戶,
apt的全稱為Advanced Package Tool,高級包工具,也可以說是是一個應用管理工具,類似于你電腦上安裝的金山軟體,騰訊應用中心,360軟體中心這類,
區別就是,金山這類軟體的軟體串列是你進入軟體中心的時候,實時從金山服務拉取串列,而apt是本地存了一份軟體包資訊的串列,比如軟體大小,版本號,依賴等,
update 則是你要求apt干的活,這里你要求apt從源拉取最新的軟體表來更新保存在本地的軟體資訊表,如果不更新,可能你安裝的軟體的時候安裝成了老版本,

順帶一提,第一次使用sudo命令的時候他會要求你輸入密碼,此時你輸入的密碼是不可見的,直到按下回車,你才能直到自己輸入的密碼正確不正確,
2.鍵入以下命令安裝build-essential軟體包:
sudo apt install build-essential
install指令會安裝指定的包,并同時安裝其依賴的其他包,這里就是安裝了build-essential包,
如果你的系統里沒有這個包的話,該命令將安裝一堆新包,包括gcc,g++和make,
這里簡單提一下依賴關系,Linux的依賴關系因為他的整個系統都是由各個不同的開發組開發的軟體集合而成,每個軟體都有不同的功能提供和呼叫,因此linux系統在運行一個軟體的時候,往往需要其他軟體模塊的協同才能成功運行,linux的靈活性就體現在其軟體包是可以靈活組成的,你需要使用什么模塊就有選擇的安裝什么模塊,而windows系統通常會將所有依賴關系一股腦全給你裝上,優點是不需要繁瑣的依賴配置,缺點就是整個系統的臃腫和龐大,

這里因為已經是最新版了因此沒有安裝新的build-essential,
3.安裝并不同的GCC版本
有時候我們并不需要apt自動給我安裝的最新版本的gcc,此時我們就可以選擇舊版本的gcc進行安裝,
例如我們想要使用4.8版本的gcc和g++,可以鍵入如下指令
sudo apt-get install gcc-4.8 g++-4.8
在“您希望執行嗎”處輸入y,即可進行安裝,

安裝結束后,此時我們輸入gcc --version 查看gcc的版本,發現還是最新的5.4

要如何切換到我們想要的版本呢?輸入以下指令:
1.將某個版本加入gcc候選中
輸入以下指令,將gcc4.8版本加入gcc候選中,最后的數字是優先級,我自己是直接設為100:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
同樣的我們也將原來系統中的gcc的優先級改成100,這樣我們就能在選擇完當前使用版本之后不會恢復默認優先級的版本,
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100
update-alternatives是Debian系統中專門維護系統命令鏈接符的工具,通過它可以很方便的設定系統默認使用哪個命令、哪個軟體版本,這個例子中的系統中同時安裝了gcc5和gcc4.8,我們通過update-alternatives可以很方便地實作管理,
指令詳情看這個網站update-alternatives詳解
2.通過下面的指令來選擇不同的gcc和g++的版本
輸入
sudo update-alternatives --config gcc
可以看到gcc指令鏈接上了兩個gcc的版本,當前默認為gcc-4.8,選擇你要切換的版本

這里不進行切換,直接回車,
此時再輸入gcc --version,發現版本已經切換到gcc4.8了

同樣的道理,你可以自由切換gcc和g++指令鏈接的版本,
4.GCC基本命令
這里以生成一個C語言的可執行檔案為例,并命名為hello.c存放在桌面,
源代碼:
#include<stdio.h>
int main(){
printf("hello world");
return 0;
}
以此在桌面檔案夾下輸入如下指令
gcc -E hello.c -o hello.i # 頭檔案展開,宏替換,注釋去掉.
gcc -S hello.i # c檔案變成匯編檔案(生產hello.s).
gcc -c hello.s # 匯編檔案變成二進制檔案(生產hello.o).
gcc hello.o -o hello # 將函式庫中相應的代碼組合到目標檔案中.
注:與windows不同的是,linux的可執行檔案是沒有.exe后綴的,或者說,linux的檔案系統是沒有后綴這個概念的,大多時候加上后綴只是方便程式進行區分,
以上為生成一個可執行檔案的基本步驟,
除此以外,也可以輸入gcc hello.c -o hello一步到位,直接生成可執行檔案,
如果要運行可執行檔案,只需要進入當前檔案夾,輸入./hello 即可運行,
GCC命令基礎可參考以下鏈接或官方檔案GCC命令基礎
四、配置qtcreator
大多數時候,我們并不直接使用命令列對源檔案進行編譯,我們更希望借助IDE(集成開發環境)的輔助,以讓我更高效的進行編程,這里向大家推薦一款跨平臺的IDE:qtcreator,
1.為什么選擇qtcreator
因為好用,跨平臺,而且免費,
2.安裝qtcreator
如果只是將其作為一個C/C++開發環境的話,簡單粗暴的執行下面一條指令即可安裝:
sudo apt install qtcreator
這條指令會自動安裝安裝qtcreator所需要的依賴檔案
但如果要使用qt的的庫的話,還需要輸入以下指令安裝qt5的庫檔案:
sudo apt install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools
安裝完之后你就能在qtcreator上撰寫你想要的GUI應用程式了~
踩坑注意:
安裝完后,輸入qmake --version查看安裝是否成功

很不幸,這里提示無法運行qmake,原因是在他所提供的路徑上找不到qmake命令的執行檔案,雖然現在你已經可以輸入qtcreator命令運行qtcreator了,但直覺(慘痛的教訓)告訴我們,這個問題不解決,以后可能會遇到令你痛苦一生的bug,
解決方法:
修改bashrc檔案中的環境變數
1.輸入gedit ~/.bashrc,用gedit文本編輯器打開bashrc檔案
2.在bashrc檔案的結尾加上export QT_SELECT=qt5,保存并關閉
3.輸入source ~/.bashrc重繪修改過的初始化檔案(重啟作業系統也是同樣的效果)
注:1.source 命令用于重繪初始化檔案,使用戶不必重啟也能更新他的組態檔,
2.~/表示用戶目錄,可以將其簡單的替換為/home/username/,
3.同windows系統一樣,LINUX系統也有環境組態檔,那就是.bashrc檔案,.bashrc檔案主要保存個人的一些個性化設定,如命令別名、路徑等,
還有另一種解決辦法可以參考qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’: No such file or directory
qmake這條命令通常安裝在/usr/lib/bin目錄下,把第一行替換即可,
再次輸入qmake -v ,我們的命令終于不迷路了,

3.使用qtcreator配置C++運行環境
理論上在配置完上述環境后,qtcreator是可以直接投入使用的,但有時候會遇上Kit配置出現問題的情況,這里提供一種配置kit的步驟,供有問題的讀者參考,
首先點擊:工具–>選項,之后彈出選項界面,

在選項界面找到 構建和運行中 的 編譯器 可以在這里更改編譯器路徑,通常如果你gcc是配置好的話,qtcreator會自動檢測到系統中的gcc(這里系統自動監測到了g++)檔案路徑并將其顯示出來,將其選定,點擊apply即可,

有時候需要手動設定編譯器路徑,點擊右上角的添加,選擇系統安裝好的編譯器,比如GCC

瀏覽目錄,找到你要使用的編譯器即可

最后在構建套件那邊選擇你使用的編譯器即可,其他默認

至此,你就可以愉快的撰寫C++程式了,
五、配置Opencv
參考文章:Ubuntu系統中安裝OpenCV 4
在ubuntu下配置opencv可能是新手最容易被勸退的環節了,其實多配幾次,重裝幾次系統,把每條指令搞明白,就會覺得配置環境也不過如此了,
在這部分,我會介紹如何在ubuntu16.04下配置安裝opencv3.4.14版本,配置其他版本的opencv方法大同小異,讀者可以根據自己的需要自行調整,
1.下載opencv
下載地址:opencv官網
點擊Sources進行下載自己需要的版本

2.安裝opencv
2.1解壓
解壓后,將檔案夾放自己喜歡的地方,筆者這里就放在了自己的用戶目錄下(請無視掉其他檔案

2.2安裝OpenCV需要的依賴項
由于最新版的OpenCV 4需要CMake 3.5.1版本,因此需要保證電腦中安裝的CMake編譯器版本高于3.5.1,
依次輸入如下命令
sudo apt update
sudo apt install build-essential cmake
OpenCV 的使用會需要很多的依賴項,例如圖片編碼庫、視頻編碼庫等,不過這些依賴是針對某些特定的功能,即使某些功能的依賴項沒有安裝,也不會影響OpenCV 的編譯與使用,只是在使用特定功能時會出現問題,因此在不確定某型功能以后會不會用到時,建議將常用的依賴都安裝上
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev
PS:安裝依賴的時候別吝嗇你的記憶體空間,能敲的命令都敲一遍,系統里沒有的包會自動給你安裝上,安裝過的就不會再給你安裝,
2.3編譯和安裝Opencv
利用“Ctrl+Alt+T”組合按鍵喚起終端,通過終端進入到下載的OpenCV-3.4.14的檔案中,并創建名為“build”的檔案夾,之后進入該檔案夾中,準備進行編譯和安裝,
cd opencv-3.4.14
mkdir build
cd build
創建一個新的檔案夾的目的是為了接下來編譯的時候將編譯出的中間檔案都生成在這個新的檔案夾中,這樣做不會因為編譯程序中生成的檔案將原檔案夾中的內容變得混亂,這種方式在Ubuntu系統中非常常見,
接下來開始編譯作業
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.14 ..
命令中“CMAKE_BUILD_TYPE”是編譯的模式引數,“CMAKE_INSTALL_PREFIX”是安裝路徑引數,這些引數都可以預設,但是如果在安裝多個版本的OpenCV時,設定不同的安裝路徑將變得十分有必要,這里我將opencv設定安裝在了/usr/local/opencv3.4.14下,
第一行命令的最后一定不要忘記有一個“…”指令,其含義是告訴編譯器將要編譯的檔案是來自上一層檔案夾中的CMakeList.txt檔案,
報錯預警:筆者在編譯的程序中,卡在IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz這條提示上,
原因是這個檔案放在https://raw.githubusercontent.com上,國內下載速度極慢,很有可能下載失敗,
解決方法是手動在網上找到這個檔案將其下載,把他放到ubuntu系統下的你喜歡的檔案夾下,接下來修改如下所示的這個檔案
/home/username/opencv-3.4.14/3rdparty/ippicv/ippicv.cmake
找到"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
將其改為你你保存ippicv_2020_lnx_intel64_20191018_general.tgz檔案的路徑,由于我把這個檔案直接放在了用戶目錄下,因此修改成“/home/test”即可(這個test是我的用戶名).保存檔案后重新編譯,一氣呵成及其絲滑,

編譯的程序中如果提示你缺少哪個庫檔案,你就去安裝哪個庫檔案,安裝的方法根據提示去百度尋找方法,
下一條命令是完成最終的編譯,“-j4”的意思是啟用4個執行緒同時進行編譯,可以根據自己計算機的性能自主選擇,例如,啟用8個執行緒“-j8”,只用單執行緒可以預設,
sudo make -j4
經過漫長的等待編譯完成后,輸入下一條指令將opencv安裝到上上條指令指定的路徑下
sudo make install
2.4環境配置
安裝OpenCV 之后還需要通過配置環境告訴系統安裝的OpenCV在哪里,按照如下步驟操作即可完成環境配置
首先執行這條指令,可能會打開一個空白的檔案,但是無論是否為空白檔案,都需要在末尾添加路徑“/usr/local/opencv3.4.14/lib”,這里添加內容與我們編譯時設定的路徑有關,如果安裝路徑變化,這里添加的內容也要隨之改變,
sudo gedit /etc/ld.so.conf.d/opencv.conf
保存檔案并退出后,使用sudo ldconfig命令將配置路徑生效,
接下來需要配置bash,在終端通過下面這條命令打開bash.bashrc檔案,
sudo gedit /etc/bash.bashrc
在打開的檔案末尾加上OpenCV的安裝路徑,代碼如下面所示:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3.4.14/lib/pkgconfig
export PKG_CONFIG_PATH
這里需要重點說明的是,檔案路徑需要與設定的安裝路徑相對應,
另外, opencv4的版本取消使用了pkgconfig,在正常安裝途徑下你是找不到pkgconfig的,(這里被坑了好久)
保存輸入內容后,通過下面兩條命令更新系統的配置環境,最終完成了OpenCV 3.4.14的安裝,
source /etc/bash.bashrc
sudo updatedb
3.測驗
一個簡單的測驗方式是輸入pkg-config --modversion opencv來查看安裝的opencv的版本,如果安裝成功,則顯示你安裝的opencv的版本,
再次提醒,opencv4之后的版本取消使用了pkgconfig,輸入pkg-config相關的指令是不會有反映的,

如果想確認真的安裝成功了,就得確認能否通程序式呼叫OpenCV 函式庫中的函式,
首先我們需要創建一個檔案夾,在檔案夾中創建 “CMakeLists.txt”檔案和“main.cpp”檔案兩個檔案,并在檔案夾中復制一張名為“apple.jpg”的圖片,在“CMakeLists.txt”檔案中內容如代碼所示,
cmake_minimum_required(VERSION 2.6)
#創建工程
project(testopencv)
#C++版本為11
set(CMAKE_CXX_FLAGS "-std=c++11")
set(OpenCV_DIR /home/teach/Desktop/opencv-3.4.14/build/) #手動設定OpenCV_DIR路徑
find_package(OpenCV REQUIRED) #找OpenCV 安裝路徑
include_directories(${OpenCV_INCLUDE_DIRS}) #加載OpenCV的頭檔案
add_executable(testopencv main.cpp) #將程式生成可執行檔案
target_link_libraries(testopencv ${OpenCV_LIBS}) #鏈接lib檔案到可執行檔案中
注意:1.由于OpenCV庫基于C++11標準撰寫,因此必須在“CMakeList.txt”檔案中宣告set(CMAKE_CXX_FLAGS “-std=c++11”)
2.如果opencv不是安裝在默認目錄,設定cmakelists就必須手動指定OpenCV_DIR的值,路徑為你建立的build檔案夾的路徑,參考文章:find_package()詳解
在“main.cpp”檔案中輸入程式如代碼所示,
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv; //宣告使用OpenCV的命名空間
int main(int agrc, char** agrv){
Mat img=imread("apple.jpg");
imshow("test",img);
waitKey(0);
return 0;
}
在當前檔案夾下輸入以下兩條指令進行編譯
cmake .
make
如果沒有報錯那么恭喜你配置成功了,
看一眼編譯完成后的檔案夾

輸入./testopencv 運行可執行檔案

顯示圖片成功,
六、使用QTcreator運行opencv程式
在安裝完qtcreator和opencv后,如果我們想要使用強大的IDE對程式進行撰寫和除錯,就得學會如何使用安裝好的qtcreator來運行opencv程式,
1.打開qtcreator
終端輸入qtcreator,回車即可打開qtcreator,
右鍵選單上的qt圖示,點擊鎖定到啟動器,下次啟動qtcreator就不用再輸命令了,

2.創建新工程
在歡迎頁面點擊New Project

選擇其他專案中的Empty qmake Project可以創建一個空的專案,

創建完成后右鍵專案目錄添加一個源檔案

3.配置pro檔案
雙擊進入pro檔案,可以看到pro檔案是整個專案的工程檔案,

pro檔案用于控制qmake來生成makefile檔案,其中可以指定需要編譯的源檔案和頭檔案,匯入庫,編譯器選項和專案配置等等,通常這一切都是IDE幫我們自動生成的,但有時候我們需要進行一些特殊的設定,就得手動修改pro檔案,
網上的教程總是要求我們在pro檔案里加入大量的include和lib配置,實際上通過配置環境變數的方式可以讓我們很便捷的將庫檔案匯入到我們的工程中,
在pro檔案添加以下幾行代碼:
#Libraries
CONFIG += link_pkgconfig
#OpenCV
PKGCONFIG += opencv
#C++14
CONFIG += c++14
CONFIG += link_pkgconfig和PKGCONFIG += opencv可以使用我們配置在環境變數中的PKG_CONFIG_PATH,使其找到我們安裝的opencv庫檔案,CONFIG += c++14允許我們使用C++14標準的特性,
再次提醒,opencv4以上的版本沒法使用這個方法,基本上還是靠自己手動添加庫檔案進去,沒有找到其他更好的辦法,因此我只做了opencv3的教程,如果有更好的配置方法,希望能夠告知我,
加入這三條代碼之后我們就可以使用qtcreator撰寫opencv和C++14標準的程式了,
4.測驗程式
在main檔案中輸入之前測驗opencv的程式:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv; //宣告使用OpenCV的命名空間
int main(int agrc, char** agrv){
Mat img=imread("Zofia.jpg");
imshow("test",img);
waitKey(0);
return 0;
}
右鍵專案目錄,點擊構建

如果沒有報錯,那么恭喜你,歷經重重苦難,終于已經能夠使用qtcreator運行opencv了,生成了可執行文件:

其中,learnOpencv檔案夾是放置我們原始碼的檔案夾,build-learnOpencv-unknown-Debug是我們構建專案所生成的檔案,檔案名在創建專案時均能設定,
將我們的測驗圖片放進build-learnOpencv-unknown-Debug內,

在qtcreator左下角的綠色小三角里點擊運行,

不出意外,運行成功,
碎碎念
本篇文章基本涵蓋了使用ubuntu撰寫opencv程式基本全程序,限制于篇幅,一些容易踩到的坑沒有細講,望讀者能夠善用搜索引擎,寫這篇文章的初衷是為在學校內做培訓撰寫的學習資料,同時也是自己入坑ubuntu跌打滾爬日子中的一點總結,望后人能少踩點坑,省下一點在CSDN屎里淘金的精力,多學點有用的東西,
花了好幾天,總共一萬余字,終于寫完了,為了確保文章內容的正確性,每一條指令都經過我自己的親自驗證,能踩的坑基本上都踩了一遍,同樣也確保了跟著我的教程來配置環境基本是不會出什么大問題的,如果有什么遺漏的地方,也請大家指正,
以上
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/374549.html
標籤:AI
下一篇:一文弄懂交叉熵損失
