云服务器deeplearning_云服务器深度学习服务器环境搭建
前幾天在騰訊云服務器上搭建深度學習的環境,查閱了騰訊云的官方文檔及相關博客,一是發現介紹的不太全,二是大都是本地工作站上的部署教程。經過多種嘗試和血淚的踩坑,暫總結出一份文檔,方便將來重新部署時的查閱及參考。
各模塊介紹
什么是CUDA?CUDA (Compute Unified Device Architecture) is a computing platform launched by graphics card manufacturer NVIDIA. CUDA ? is a universal parallel computing architecture introduced by NVIDIA, which enables GPUs to solve complex computing problems. It contains the CUDA instruction set architecture (ISA) and the parallel computing engine inside the GPU. Developers can now use C to write programs for the CUDA ? architecture
CUDA (ComputeUnified Device Architecture),是顯卡廠商NVIDIA推出的運算平臺。CUDA是一種由NVIDIA推出的通用并行計算架構,該架構使GPU能夠解決復雜的計算問題。
什么是cuDNN?The NVIDIA CUDA? Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers.
Deep learning researchers and framework developers worldwide rely on cuDNN for high-performance GPU acceleration. It allows them to focus on training neural networks and developing software applications rather than spending time on low-level GPU performance tuning. cuDNN accelerates widely used deep learning frameworks, including Caffe,Caffe2, Chainer, Keras,MATLAB, MxNet, TensorFlow, and PyTorch. For access to NVIDIA optimized deep learning framework containers, that has cuDNN integrated into the frameworks, visit NVIDIA GPU CLOUD to learn more and get started.
NVIDIA cuDNN (The NVIDIA CUDA? Deep Neural Network library)是用于深度神經網絡的GPU加速庫。它強調性能、易用性和低內存開銷。NVIDIA cuDNN可以集成到更高級別的機器學習框架中,Tensorflow、Caffe等。簡單的插入式設計可以讓開發人員專注于設計和實現神經網絡模型,而不是簡單調整性能,同時還可以在GPU上實現高性能現代并行計算。
CUDA與CUDNN的關系
CUDA看作是一個工作臺,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基于CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當于工作的工具,比如它就是個扳手。但是CUDA這個工作臺買來的時候,并沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN。
在安裝cuDNN時,只需要把cuDNN文件復制到CUDA的對應文件夾里就可以,即是所謂插入式設計,把cuDNN數據庫添加CUDA里,cuDNN是CUDA的擴展計算庫,不會對CUDA造成其他影響。
配置GPU相關應用
安裝Nvidia驅動
安裝Nvidia驅動總體來講有兩種主流方式,一是通過源來進行安裝,另一種是在官網下載.run安然文件進行安裝。
注:通過源安裝后進行重啟如果無法加載,或者通過.run安裝時編譯報錯,可嘗試通過升級Linux內核來解決。
1
2apt update
apt install dkms build-essential linux-headers-generic
1)通過源安裝驅動
首先查看符合自己機器的Nvidia驅動,在官網 http://www.nvidia.com/Download/index.aspx 進行查詢,如我的顯卡是Tesla V100,則對應的配置:
點擊 Search,可以看到查詢結果如下所示:
Version:
418.87
Release Date:
2019.8.14
Operating System:
Linux 64-bit
CUDA Toolkit:
10.1
Language:
English (US)
File Size:
103.47 MB
卸載之前的Nvidia驅動
1sudo apt purge nvidia*
添加一個 PPA 源,命令如下:
1sudo add-apt-repository ppa:graphics-drivers/ppa
更新源:
1sudo apt-get update
安裝Nvidia顯卡驅動:
1sudo apt-get install nvidia-418
注意這里的418就是剛才根據我的機器型號查詢出來的版本,以你實際查詢出來的版本為準。
2)通過官網下載安裝文件進行驅動安裝
首先,禁用 nouveau驅動。
打開文件:
1sudo vim /etc/modprobe.d/blacklist.conf
在末尾添加:
1blacklist nouveau
更新設置:
1sudo update-initramfs -u
重啟系統:
1reboot
使用 lsmod 命令查看是否禁用成功
1lsmod | grep nouveau
若沒有輸出內容,則是禁用成功.
從官網下載驅動到本地,接著:
卸載舊驅動
1sudo apt purge nvidia*
進入到NVIDIA驅動所在目錄,安裝驅動
1
2#安裝驅動
sudo sh NVIDIA-Linux-x86_64-410.66.run
3)檢查驅動安裝情況
查看Nvidia驅動版本:
1sudo dpkg --list | grep nvidia-
大致會顯示:
1
2
3ii nvidia-418 418.56-0ubuntu0~gpu16.04.1 amd64 NVIDIA binary driver - version 418.56
ii nvidia-opencl-icd-418 418.56-0ubuntu0~gpu16.04.1 amd64 NVIDIA OpenCL ICD
ii nvidia-settings 418.56-0ubuntu0~gpu16.04.1 amd64 Tool for configuring the NVIDIA graphics driver
安裝完畢后,查看顯卡狀態信息:
1
2
3nvidia-smi
# 若上面的命令不可以,則嘗試重啟查看結果
sudo reboot
安裝CUDA 10.0進入 CUDA Toolkit官方鏈接,根據自己的機器配置,選擇相應安裝包
根據上圖中的提示,輸入命令安裝即可:
1
2#不同CUDA版本命令不同,請注意!
sudo sh cuda_10.1.243_418.87.00_linux.run
安裝過程需要輸入一些確認選項,過程如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Do you accept the previously read EULA? # accept 接受
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? # 選否
(y)es/(n)o/(q)uit: n
Install the CUDA 10.1 Toolkit? #yes
(y)es/(n)o/(q)uit: y
Enter Toolkit Location # 默認
[ default is /usr/local/cuda-10.1 ]:
Do you want to install a symbolic link at /usr/local/cuda? # yes
(y)es/(n)o/(q)uit: y
Install the CUDA 10.1 Samples? # 可裝可不裝(可以先選yes,然后用不到了再刪除)
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/ubuntu ]:
Installing the CUDA Toolkit in /usr/local/cuda-10.1 ...
安裝成功后,添加環境變量
1vim ~/.bashrc
在打開的文件中末尾添加:
1
2
3
4#CUDA
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
保存并關閉文件,終端輸入
1
2#使環境生效
source ~/.bashrc
使用 nvcc -V命令查看是否配置成功,成功后會顯示如下信息:
安裝cuDNN
cuDNN 的全稱是 The NVIDIA CUDA? Deep Neural Network library,是專門用來對深度學習加速的庫,能夠對TensorFlow、PyTorch及Theano等深度學習框架進行加速優化。
cuDNN有兩種方式進行安裝,本文暫介紹壓縮包的形式進行安裝。
解壓進行安裝:
1
2
3
4
5tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看安裝的結果
1cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
執行完如上命令之后,cuDNN 就安裝好了,這時我們可以發現在 /usr/local/cuda/include 目錄下就多了 cudnn.h 頭文件。
安裝Python 3.6.x
安裝TensorFlow安裝TensorFlow:
1pip install tensorflow-gpu==1.14
驗證TensorFlow是否安裝成功
1
2
3
4
5# 輸出Hello, TensorFlow! 則代表安裝成功。
>>>import tensorflow as tf
>>>hello = tf.constant('Hello, TensorFlow!')
>>>sess = tf.Session()
>>>print(sess.run(hello))
安裝過程中出現的Error
在安裝過程中出現的問題大多都是
Linux內核版本與CUDA版本不匹配
Tensorflow_gpu與CUDA及cuDNN版本不匹配的問題
總結
以上是生活随笔為你收集整理的云服务器deeplearning_云服务器深度学习服务器环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL注入原理及绕过技术
- 下一篇: 换手机了,换用三星S559