使用亞馬遜雲服務器EC2作深度學習(三)配置TensorFlow

這是《使用亞馬遜雲服務器EC2作深度學習》系列的第三篇文章。html

(一)申請競價實例  (二)配置Jupyter Notebook服務器  (三)配置TensorFlow  (四)配置好的系統鏡像linux

TensorFlow是Google發佈的深度學習框架,支持Python和C++的接口。TensorFlow既能夠用於學術研究,也能夠用於生產環境。許多Google的內部服務,就使用了TensorFlow,好比Gmail、語音識別等。git

網絡上TensorFlow的教程也很豐富,官方文檔在第一時間就被翻譯成來中文。redis

若是讓我來評價一下的話,我會說Google出品必屬精品。ubuntu

 

配置TensorFlow的環境,須要安裝不少GPU的驅動,很是繁瑣。下面的配置腳本是我根據其它教程提供的腳本修改而來。api

配置中操做系統的版本是Ubuntu14.04,TensorFlow的版本是目前的最新版本0.11,Python使用的是Anaconda3發行版,Python的版本是Python3.5。bash

一個注意事項是,選擇AWS EC2的區的時候,儘可能選擇美國或者歐洲地區,否則下載驅動的速度比較慢,須要耗費很長時間。服務器

(1)更新系統,安裝必要文件網絡

# install the required packages
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get -y install linux-headers-$(uname -r) linux-image-extra-`uname -r`

(2)安裝Cuda 7.5app

# install cuda 7.5
CUDA_FILE=cuda-repo-ubuntu1404_7.5-18_amd64.deb
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/${CUDA_FILE}
sudo dpkg -i ${CUDA_FILE}
rm ${CUDA_FILE}
sudo apt-get update
sudo apt-get install -y cuda-7-5

(3)安裝cudnn 5.1

# get cudnn 5.1
CUDNN_FILE=cudnn-7.5-linux-x64-v5.1.tgz
wget http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/${CUDNN_FILE}
tar xvzf ${CUDNN_FILE}
rm ${CUDNN_FILE}
sudo cp cuda/include/cudnn.h /usr/local/cuda/include # move library files to /usr/local/cuda
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
rm -rf cuda

(4)添加環境變量

# set the appropriate library path
echo 'export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin:$HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64
' >> ~/.bashrc

(5)安裝Anaconda

# install anaconda
ANACONDA_FILE=Anaconda3-4.2.0-Linux-x86_64.sh
wget https://repo.continuum.io/archive/${ANACONDA_FILE}
bash ${ANACONDA_FILE} -b -p /mnt/bin/anaconda3
rm ${ANACONDA_FILE}
echo 'export PATH="/mnt/bin/anaconda3/bin:$PATH"' >> ~/.bashrc

(6)安裝TensorFlow

# install tensorflow
TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc0-cp35-cp35m-linux_x86_64.whl
/mnt/bin/anaconda3/bin/pip install $TF_BINARY_URL

exec bash

 

下面是完整的配置腳本:

#!/bin/bash

# stop on error
set -e
############################################
# install into /mnt/bin
sudo mkdir -p /mnt/bin
sudo chown ubuntu:ubuntu /mnt/bin

# install the required packages
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get -y install linux-headers-$(uname -r) linux-image-extra-`uname -r`

# install cuda 7.5
CUDA_FILE=cuda-repo-ubuntu1404_7.5-18_amd64.deb
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/${CUDA_FILE}
sudo dpkg -i ${CUDA_FILE}
rm ${CUDA_FILE}
sudo apt-get update
sudo apt-get install -y cuda-7-5

# get cudnn 5.1
CUDNN_FILE=cudnn-7.5-linux-x64-v5.1.tgz
wget http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/${CUDNN_FILE}
tar xvzf ${CUDNN_FILE}
rm ${CUDNN_FILE}
sudo cp cuda/include/cudnn.h /usr/local/cuda/include # move library files to /usr/local/cuda
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
rm -rf cuda

# set the appropriate library path
echo 'export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin:$HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64
' >> ~/.bashrc

# install anaconda
ANACONDA_FILE=Anaconda3-4.2.0-Linux-x86_64.sh
wget https://repo.continuum.io/archive/${ANACONDA_FILE}
bash ${ANACONDA_FILE} -b -p /mnt/bin/anaconda3
rm ${ANACONDA_FILE}
echo 'export PATH="/mnt/bin/anaconda3/bin:$PATH"' >> ~/.bashrc

# install tensorflow
TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc0-cp35-cp35m-linux_x86_64.whl
/mnt/bin/anaconda3/bin/pip install $TF_BINARY_URL

# install monitoring programs
#sudo wget https://git.io/gpustat.py -O /usr/local/bin/gpustat
#sudo chmod +x /usr/local/bin/gpustat
#sudo nvidia-smi daemon
#sudo apt-get -y install htop

# reload .bashrc
exec bash
相關文章
相關標籤/搜索