ubuntu下AI伺服器環境的部署準備
本篇介紹下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 tensorflow1.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..."
相關文章
- openstack 部署(Q版)—–環境準備篇
- ubuntu 下gerrit 伺服器環境搭建Ubuntu伺服器
- 越獄環境下使用Cycript(準備)
- (1)環境準備
- Ambari環境準備
- 準備 MMIX 環境
- Linux伺服器準備java執行環境Linux伺服器Java
- ubuntu環境配置備忘Ubuntu
- 0. 準備環境
- 一、考前環境準備
- Flutter(一) 環境準備Flutter
- Ubuntu下Java環境的搭建UbuntuJava
- Django測試環境準備Django
- RHEL 環境下 Subversion 伺服器部署與配置伺服器
- 在Ubuntu上部署Hyperledger Fabric環境Ubuntu
- Ubuntu 16 下部署 Laravel LNMP 環境UbuntuLaravelLNMP
- ubuntu環境下搭建以太坊開發環境Ubuntu開發環境
- Ubuntu環境搭建svn伺服器Ubuntu伺服器
- FASTAPI 系列 01-環境準備ASTAPI
- 準備Python環境學習OpenCV的使用PythonOpenCV
- DKHadoop安裝的環境準備介紹Hadoop
- 阿里雲 Ubuntu16.04 部署 LNMP 環境阿里UbuntuLNMP
- 【環境踩坑】ubuntu下jupyter的環境設定問題Ubuntu
- 開發環境的 Ubuntu Desktop 18.04LTS 開發環境配置備忘開發環境Ubuntu
- 雲伺服器ubuntu下nginx和php-fpm環境配置伺服器UbuntuNginxPHP
- 01_Rust開發環境準備Rust開發環境
- 逆向環境準備(刷機與root)
- Elastic認證叢集環境準備AST
- 【linux】驅動-1-環境準備Linux
- kubernetes入門預先準備環境
- flask之旅: 開發前環境準備Flask
- Ubuntu 16.04 環境安裝部署(更新版)Ubuntu
- ubuntu環境下安裝perf工具Ubuntu
- 在Ubuntu環境下安裝eclipseUbuntuEclipse
- VLC在ubuntu環境下編譯編譯
- 生產環境部署Nginx伺服器雙機熱備部署-keepalived(多種模式教程)Nginx伺服器模式
- linux伺服器環境部署(三、docker部署nginx)Linux伺服器DockerNginx
- IIS環境下伺服器SSL證書的備份及恢復伺服器