ubuntu下AI伺服器環境的部署準備

願better發表於2020-09-27

本篇介紹下AI伺服器的環境部署準備。基於深度學習技術的AI浪潮已經風靡了一段時間,但是每一次部署環境、準備一些測試都是東搜搜西看看,這次決定自己整理下常用的AI伺服器環境部署工具及安裝方法。
1、系統,AI訓練推薦使用Ubuntu,我用的是Ubuntu1604,現在2004都已經出來了。系統的獲取地址 http://old-releases.ubuntu.com/releases/
2、apt源,配置這些環境最好還是在有網路的環境下,如果沒有網路可以考慮使用docker會少裝一些東西。選一個好一些的apt源絕對可以讓你事半功倍。
3、GPU-驅動,既然是AI伺服器目前看來是離不開NVIDIA GPU,驅動是必不可少啦
4、CUDA,基於GPU的並行程式設計開源SDK
5、CUDNN,基於CUDA的深度學習演算法SDK
6、NCCL,基於CUDA和CUDNN的並行演算法庫
7、OPENMPI,通用平行計算庫
8、PYTHON,機器學習 深度學習常用開發語言
9、TensorFLow,谷歌開源的機器學習庫

一、系統安裝

就不詳述,一般在伺服器上裝系統,採用BMC遠端連線,用本地映象即可操作,很方便。

二、apt源配置

1.備份原始檔案
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
2.修改檔案並新增國內源
vi /etc/apt/sources.list
3.註釋原始檔內的源並新增如下地址(ubuntu1604)

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
#原始碼
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
#Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main

可以自行搜尋apt阿里源,電信源,163源

4.更新源
sudo apt-get update
5.常見的修復安裝命令
sudo apt-get -f install

三、GPU驅動

1、根據GPU型號選擇驅動,高版本的驅動是向下相容低版本,建議選擇新的驅動。一般我習慣使用run檔案進行安裝。
比如 NVIDIA-Linux-x86_64-418.87.01.run
bash NVIDIA-Linux-x86_64-418.87.01.run
2、安裝過程一般不會很順利,有的Ubuntu裝的是輕量版可能沒有gcc g++,有的可能存在衝突,這個具體問題得看報錯,很多這方面的bug解決案例。缺少安裝包的直接apt install即可,其它錯誤可以搜搜看~

四、CUDA

1、cuda
sudo bash cuda_10.1.243_418.87.00_linux.run --silent --toolkit --samples
一鍵安裝貌似也沒有出過很多錯誤

五、CUDNN & NCCL

我習慣用tar包解壓拷貝修改連線的方式來做比如cudnn
#cudnn
sudo tar -xvf cudnn-10.0-linux-x64-v7.5.0.56.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64;cd /usr/local/cuda/lib64; sudo rm libcudnn.so libcudnn.so.7;sudo ln -s libcudnn.so.7.5.0 libcudnn.so.7;sudo ln -s libcudnn.so.7 libcudnn.so
sudo rm -Rf cuda
後來吧,發現大家用dpkg直接安裝deb包也挺方便的,如下連結有很多版本可以選擇。
https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu1604/x86_64/

六、PYTHON

sudo apt-get -y install python-dev python-pip
sudo apt-get -y install python3-dev python3-pip
不過我還是推薦使用anaconda或者minianacoda,這個套裝裡面有很多科學計算庫,省得自己一個個pip install。

七、OPENMPI

https://www.open-mpi.org/faq/?category=building#easy-build
./configure
make all insatll
把之前裝的lib庫都加下環境變數
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/openmpi/lib

八、TensorFlow

這個安裝方式很多
最簡單的,
pip install tensorflow-gpu1.14(GPU)
pip install tensorflow
1.14(CPU)

原始碼安裝,畢竟有人喜歡這個:

pip3 install -U --user future
#2. Download Bazel in advance(175M)
 https://github.com/bazelbuild/bazel/releases
#3. run the installer
#set the bazel version in advance!!! 
chmod +x bazel-0.25.3-installer-linux-x86_64.sh 
./bazel-0.25.3-installer-linux-x86_64.sh --user
#4. set up the environment
echo "export PATH="$PATH:$HOME/bin"" >> /etc/profile
source /etc/profile

#unzip tensorflow-r2.0.zip

unzip -q tensorflow-r2.0.zip
mv tensorflow-r2.0 tensorflow
cd tensorflow

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
source /etc/profile && echo -e "/usr/bin/python3\n/usr/lib/python3/dist-packages\n n\n n\n n\n Y\n n\n7.0,7.0\n \n\n n\n \n n\n"| ./configure

echo "/usr/local/lib">>/etc/ld.so.conf
echo "/usr/local/cuda/lib64">>/etc/ld.so.conf
ldconfig
~/bin/bazel build --config=opt --config=cuda --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package
#build the package
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg


#set tensorflow version!!!
pip install /tmp/tensorflow_pkg/*.whl   ######version!!!######
echo "......Tensorflow-now-is-installed..."

相關文章