ubuntu 16.04 安装 tensorflow

本文安装步骤参考参考官方文档1

安装 python 3.6

sudo apt-get update
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6 python3-pip
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3

如果需要,可以通过下面的命令更新 python3.6 为默认 Python

sudo ln -sf /usr/bin/python3.6 /usr/bin/python
sudo ln -sf /usr/bin/pip3 /usr/bin/pip

安装 cuda

cuda 官网在国外,下载速度比较慢。所以这里使用阿里源来安装。

# 从阿里云安装 cuda-repo
curl -O  https://mirrors.aliyun.com/nvidia-cuda/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
rm -f cuda-repo-ubuntu1604_9.2.88-1_amd64.deb
sudo apt-key adv --fetch-keys https://mirrors.aliyun.com/nvidia-cuda/ubuntu1604/x86_64/7fa2af80.pub
# 安装
sudo apt-get update
sudo apt-get install cuda-9-0
# 安装完毕后需重启服务器
sudo reboot

编辑配置文件 ~/.bashrc

# 若要对所有用户生效可以编辑 /etc/bash.bashrc 
cat >> ~/.bashrc  << EOF
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
EOF

安装 cudnn

cudnn 官方下载需要申请用户,且需要填一个表格。这里参考 cuda Dockerfile 2, 从 Dcokerfile 获取 cudnn 的源。

sudo apt-get install -y  ca-certificates apt-transport-https gnupg-curl
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 /" > nvidia-ml.list
sudo mv nvidia-ml.list /etc/apt/sources.list.d/
sudo apt-get update
sudo apt-get install libcudnn7=7.2.1.38-1+cuda9.2
sudo apt-mark hold libcudnn7

安装 tensorflow

pip3 install tensorflow
pip3 install tensorflow-gpu

测试 tensorflow

cat > /tmp/test-tf.py <<EOF
import tensorflow as tf

with tf.device('/cpu:0'):
    a = tf.constant([1.0,2.0,3.0],shape=[3],name='a')
    b = tf.constant([1.0,2.0,3.0],shape=[3],name='b')
with tf.device('/gpu:1'):
    c = a+b

sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))
#sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
EOF

python /tmp/test-tf.py

  1. 官方文档 ↩︎

  2. ubutu cuda 项目 ↩︎

你可能感兴趣的:(tensorflow)