一篇文章帶你配置個人linux深度學習伺服器
內容較長建議先碼後看,文章最後提供可下載的pdf版本。
最近這兩天重裝了一下系統,安裝了我個人必要常用的軟體,才了不少坑,在此記錄一下,希望能給有需要的朋友一點幫助。
目前配置環境內容為(隨後在使用中添加, 有大佬有ubuntu寶藏軟體或者其他的技巧,希望各位大佬不吝賜教):
ubuntu18.04
nvidia driver 440.33.01
cuda 10.2
cudnn 7.6.5.32
anaconda3-20.07
gcc
g++
make
pip與anaconda源更換
pytorch1.6
pycharm2020.2.3
vscode
chrome瀏覽器
typora markdown編輯器
福昕pdf閱讀器
網易雲音樂
electronic-wechet
百度網盤
frp反向代理,給自己的電腦配置公網ip
1.1 利用UltraISO製作啟動盤(在另一台windows上)
1.2 安裝ubuntu18.04
1.3 ubuntu18.04撥號上網
2. nvidia driver 440.33.01
2.1 禁用nouveau
2.2 驅動安裝
3. cuda 10.2與cudnn7.6.5.32
3.1 安裝cuda10.2
3.2 安裝cudnn
4. anaconda3-2020.07
5. pip與anaconda源更換
5.1 anaconda更換為清華源
5.2 pip更換為清華源
6. pytorch1.6
7. pycharm2020.2.3
7.1 使用二進位文件安裝
7.2 使用snap安裝
8. vscode
9. chrome瀏覽器
10. typora markdown編輯器
10.1 命令行安裝
10.2 deb文件安裝
11. 福昕pdf閱讀器
12. 網易雲音樂
13. electronic-wechat
14. 百度網盤
15 反向代理公網ip
15.1 下載frp
15.2 公網伺服器端
15.3 內網伺服器端
1. ubuntu18.04
系統iso文件下載地址://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/
在下載的時候,我剛開始選擇了18.04.5,但是在撥號上網的時候,發現網速總是特別的慢,而且總是掉線,搞不定,後來選用了18.04.1安裝之後就正常了,這裡記錄一下安裝的過程。
1.1 利用UltraISO製作啟動盤(在另一台windows上)
需要一個空u盤,4g以上就夠
在上面提供的網址下載ISo鏡像之後,下載UltraISO軟體(這裡在windows上製作啟動盤),下載網址://www.ultraiso.com/download.html
安裝之後點擊試用(直接試用就行,不用購買)
- 打開iso文件(文件->打開,選中下載的iso文件即可)
- 選中u盤
- 啟動–>寫入硬碟映像
-
便捷啟動–>寫入新的啟動器引導扇區–>syslinux
-
點擊寫入等待完成
1.2 安裝ubuntu18.04
- 開機進入BIOS,然後選擇u盤啟動方式
- 點擊Install Ubuntu(選擇英文還是中文版本的系統)
- 選擇英文或者中文版本的鍵盤布局
- 選擇最小化安裝
-
選擇安裝方式,我這裡選擇自行設置分區,我只分出了
swap
與/
這兩個,也可以參考一些部落格上的分區方案。這裡也可以選擇,清楚硬碟,直接安裝,不用自行設置分區,簡單操作。
1.3 ubuntu18.04撥號上網
我之前下載的是ubuntu18.04.5,網路鏈接一直有問題,連接不上,或者速度特別慢,這裡下載ubuntu18.04.1正常。
- /usr/share/applications 找到Network connections
- 打開Network Connections,點擊左下角的 + 。
- 選擇DSL/PPPoE(撥號上網)
- 輸入用戶名與密碼
連接名稱(connect name)隨意起一個。
然後在General中勾選自動連接,在IPV6設置中點擊忽略,禁用ipv6,否則可能會出現經常掉線的問題。
最後由於ubuntu18中,有線鏈接與撥號鏈接衝突,因此需要關掉有線鏈接。
將有線鏈接中的自動鏈接勾選掉。關閉有線連接即可。
2. nvidia driver 440.33.01
驅動下載地址://developer.nvidia.com/cuda-toolkit-archive
2.1 禁用nouveau
- 創建文件:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
- 插入以下內容:
blacklist nouveau
options nouveau modeset=0
執行以下命令使禁用生效並且重啟:
sudo update-initramfs -u
sudo reboot
重啟後可以驗證是否生效:
lsmod | grep nouveau
若沒有輸出,則禁用生效.
2.2 驅動安裝
安裝使用如下兩條命令:
**需要注意:**可能網上有教程說需要–no-opengl-files參數,其實這個參數有時候加上會出現循環登錄,有時候不加上會出現循環登錄。安裝完成利用顯示卡運行程式的時候會出現螢幕刷新率很低,一卡一卡的,可能也是這個參數的鍋,加與不加這個參數試著來唄。
chmod +x NVIDIA.run(這裡是你下載的run file文件的名字)
sudo sh NVIDIA.run(下載的runfile文件的名字)
在安裝的時候可能會報沒有gcc與make的錯誤。需要先安裝gcc與make
sudo apt install gcc
sudo apt install make
安裝完成後輸入:
nvidia-smi
3. cuda 10.2與cudnn7.6.5.32
3.1 安裝cuda10.2
cuda run file下載地址://developer.nvidia.com/cuda-toolkit-archive
sudo chmod +x cuda_10.2.89_440.33.01_linux.run
sh cuda_10.2.89_440.33.01_linux.run
# accept
然後會出現這樣的東西。
CUDA Installer
-[X] driver
-[X]CUDA ToolKit
-[X]CUDA Samples
-[X]CUDA Demo Suit
-[X]CUDA Documentation
Options
Install
由於之前已經安裝過顯示卡驅動, 這裡選中driver,點擊回車將X號去掉, 然後選擇Install回車即可正常安裝。
3.2 安裝cudnn
下載地址://developer.nvidia.com/rdp/cudnn-archive
下載完成後,選擇對應的版本,然後運行如下的命令:
# 解壓下載的文件
tar -zxvf cudnn.tgz
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include/
# 為所有用戶設置讀取許可權
sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*
4. anaconda3-2020.07
anaconda下載地址://repo.anaconda.com/archive/
下載之後直接運行對應的Anaconda.sh即可
sh Anaconda3-2020.07-linux-x86_64.sh
# 最後一個選項是否進行conda init選擇no
# 然後關掉這個終端,選擇另外一個終端進行conda list的測試
5. pip與anaconda源更換
將anaconda與pip的源更換為清華源,提高下載包的速度。
5.1 anaconda更換為清華源
在終端中輸入以下的命令
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
測試是否修改源成功
conda config --show channels
5.2 pip更換為清華源
# 建立文件夾
mkdir ~/.pip
cd ~/.pip
# 創建pip.conf文件
touch pip.conf
sudo gedit ~/.pip/pip.conf
在對應的文件中添加下面的內容,修改為清華源
[global]
index-url = //pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
輸入以下的內容,查看是否更新成功
pip config list
6. pytorch1.6
利用conda安裝pytorch1.6,官方網址://pytorch.org/
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch
7. pycharm2020.2.3
7.1 使用二進位文件安裝
下載地址://www.jetbrains.com/zh-cn/pycharm/download/#section=linux
下載完成之後解壓,在bin文件夾下有Pycharm.sh
的文件,運行這個可執行文件。
cd bin/
sh pycharm.sh
然後激活之後,隨便新建一個工程。然後在tools中Create desktop entry
,然後就可以在系統中搜索到pycharm,打開之後固定到收藏夾即可。
7.2 使用snap安裝
直接使用snap安裝,更簡單
sudo snap install [pycharm-professional] --classic
8. vscode
下載地址://code.visualstudio.com/docs/?dv=linux64_deb
下載deb文件之後,直接運行如下的命令安裝(###下載的文件名字)
sudo dpkg -i ###.deb
9. chrome瀏覽器
下載deb文件之後,直接運行如下的命令安裝(###下載的文件名字)
sudo dpkg -i ###.deb
10. typora markdown編輯器
10.1 命令行安裝
# or use
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - //typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
echo -e "\ndeb //typora.io/linux ./" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
# install typora
sudo apt-get install typora
10.2 deb文件安裝
在如下的地址中選擇一個合適的版本。
//typora.io/windows/dev_release.html
可以直接點擊下載,
也可以使用鏈接,下載網址一般為//typora.io/linux/typora_${version}_amd64.deb
11. 福昕pdf閱讀器
下載地址://www.foxitsoftware.cn/downloads/
點擊圖標,一定是圖標(不能是高速下載這四個字)。然後在彈出的窗口中選擇linux 64bit下載
下載run file之後,直接運行這個可執行文件,即可安裝
12. 網易雲音樂
//d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb
下載deb文件之後,直接運行如下的命令安裝(###下載的文件名字)
sudo dpkg -i ###.deb
13. electronic-wechat
如下為github鏈接: //github.com/geeeeeeeeek/electronic-wechat
下載安裝這個軟體最無腦的操作就是,直接在ubuntu軟體商店中,直接搜索下載
14. 百度網盤
下載deb文件之後,直接運行如下的命令安裝(###下載的文件名字)
sudo dpkg -i ###.deb
15 反向代理公網ip
遠程訪問管理伺服器需要一個公網的IP frp是一款好用內網穿透工具,FRP 全名:Fast Reverse Proxy。FRP 是一個使用 Go 語言開發的高性能的反向代理應用,可以幫助您輕鬆地進行內網穿透,對外網提供服務。FRP 支援 TCP、UDP、HTTP、HTTPS等協議類型,並且支援 Web 服務根據域名進行路由轉發。
15.1 下載frp
//github.com/fatedier/frp/releases
下載之後解壓。frps與frps.ini是外網伺服器端要使用的文件 frpc與frpc.ini是內網主機要使用的文件
15.2 公網伺服器端
修改配置文件 $ vi frps.ini,如下:
[common]
bind_port = 7000 #frp服務端埠
配置很簡單,然後啟動:
nohup ./frps -c frps.ini &
15.3 內網伺服器端
修改配置文件 $ vi frpc.ini,如下:
[common]
server_addr = 0.0.0.0 #frp服務端地址,可以填ip或者域名,這裡假設為0.0.0.0
server_port = 7000 #frp服務端埠,即填寫服務端配置中的 bind_port
[ssh1]
type = tcp #連接類型,填tcp或udp
local_ip = 127.0.0.1 #填127.0.0.1或內網ip都可以
local_port = 22 #需要轉發到的埠,ssh埠是22
remote_port = 5000 #frp服務端的遠程監聽埠,即你訪問服務端的remote_port就相當於訪問客戶端的 local_port,如果填0則會隨機分配一個埠
[tensorboard1]
type = tcp #連接類型,填tcp或udp
local_ip = 127.0.0.1 #填127.0.0.1或內網ip都可以
local_port = 6006 #需要轉發到的埠, tensorboard 埠為6006
remote_port = 5001 #frp服務端的遠程監聽埠,即你訪問服務端的remote_port就相當於訪問客戶端的 local_port,如果填0則會隨機分配一個埠
[jupyter1]
type = tcp #連接類型,填tcp或udp
local_ip = 127.0.0.1 #填127.0.0.1或內網ip都可以
local_port = 8888 #需要轉發到的埠,jupyter埠是8888
remote_port = 5002 #frp服務端的遠程監聽埠,即你訪問服務端的remote_port就相當於訪問客戶端的 local_port,如果填0則會隨機分配一個埠
啟動客戶端程式:
$ nohup ./frpc -c frpc.ini &
pdf版本的文章請移步github自取:pdf文章地址