1. 安装环境

* System version: Ubuntu16.04 LTS
* CUDA version: 9.1、cuDNN version: 7.0
* Anaconda
* gcc、g++ version: 5.4
2. 从源码安装(实在迫不得己,不推荐,都是坑)
1. 安装Bazel
1.安装Bazel的方法有三种,选择其中一种安装即可。Bazel的版本尽可能选择新的

2.我是用apt安装的Bazel,这里只介绍这里。至于其它安装方法,可以查看官网
<https://docs.bazel.build/versions/master/install-ubuntu.html>

Step 1: Install the JDK
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get
install openjdk-8-jdk
配置openjdk 8为默认java环境:
sudo update-alternatives --config java sudo update-alternatives --config javac
Step 2: Add Bazel distribution URI as a package source
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
| sudo tee /etc/apt/sources.list.d/bazel.list curl https://bazel.build
/bazel-release.pub.gpg | sudo apt-key add -
Step 3: Install and update Bazel
sudo apt-get update && sudo apt-get install bazel sudo apt-get upgrade bazel
3.获取tensorflow源码
git clone --recurse-submodules https://github.com/tensorflow/tensorflow
4.安装CUDA及cuDNN,可以参见我的另一篇博文(推荐CUDA8.0、cuDNN6)

5.安装MKL,去英特尔官网
<https://registrationcenter.intel.com/en/products/postregistration/?sn=33RM-MPPRMLGB&EmailID=gphsmail%40163.com&Sequence=2038178>
下载,下载完解压,运行./install.sh即可,完成后添加环境变量
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH
这里提供我下载好的MKL链接:
链接: https://pan.baidu.com/s/1_xnVBCV0La1D5Jh14NTeiw
<https://pan.baidu.com/s/1_xnVBCV0La1D5Jh14NTeiw> , 密码: nqnf

6.编译tensorflow
sudo ./configure
进行配置选择,如果不知道,则选择n


7.进行编译
sudo bazel build --config=opt --config=cuda --config=monolithic
//tensorflow/tools/pip_package:build_pip_package



如果编译出现missing input file
‘//third_party/mpi:mpio.h’错误信息,如图所示,可以重新configure,关闭mpi选择。其他解决方法我也不会,如果某位大佬会的话,请教教我。


8.bazel编译命令建立了一个名为build_pip_package的脚本。运行如下的命令将会在
/tmp/tensorflow_pkg路径下生成一个.whl文件:
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

9.安装.wheel文件
sudo pip install /tmp/tensorflow_pkg/tensorflow-1.8.0rc1-cp36-cp36m
-linux_x86_64.whl

10.验证安装

重新打开个终端,不要在tensorflow目录下运行
>>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>>
sess = tf.Session()>>> print(sess.run(hello)) Hello, TensorFlow!
如果出现libcudart.so.9.1 can’t open的错误,则可以尝试以下命令
$ cd $ vim .bashrc # 在.bashrc文件后,添加下列命令 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
:/usr/local/cuda/lib64/ $ source .bashrc
3. pip安装


1.现在的tensorflow最新版本为1.7,支持CUDA9.0。如果你的CUDA版本也是和我一样是9.1的话,可以选择源码编译安装或者是创建虚拟环境,用conda安装。这个我在稍后会讲到。

2.用pip安装的话,以python3.6为例

CPU only:
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.7
.0-cp36-cp36m-linux_x86_64.whl
GPU support:
pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-
1.7.0-cp36-cp36m-linux_x86_64.whl
更多细节,移步官网 <https://www.tensorflow.org/install/install_linux>.

4. conda安装

1.conda安装的话,先安装anaconda这个软件。这个软件可以到这里
<https://www.anaconda.com/download/#linux>下载,下载完后,运行sudo bash
./Anaconda3-5.1.0-Linux-x86_64.sh 进行安装。其中那些安装过程便不再赘述

2.安装好之后,我们可以创建个虚拟环境
conda create --name tensorflow-py36 python=3.6 numpy scipy h5py jupyter
我们创建了一个名为tensorflow-py36的虚拟环境,python版本是3.6

3.接着,激活虚拟环境
source activate tensorflow-py36
4.最后,安装tensorflow
conda install tensorflow-gpu


5.最后,测试tensorflow是否成功
import tensorflow as tf import numpy as np # 使用 NumPy 生成假数据(phony data), 总共
100 个点. x_data = np.float32(np.random.rand(2, 100)) # 随机输入 y_data = np.dot([
0.100, 0.200], x_data) + 0.300 # 构造一个线性模型 # b = tf.Variable(tf.zeros([1])) W =
tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0)) y = tf.matmul(W, x_data) + b
# 最小化方差 loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train
.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) # 初始化变量 init =
tf.initialize_all_variables() # 启动图 (graph) sess = tf.Session() sess.run(init)
# 拟合平面 for step in range(0, 201): sess.run(train) if step % 20 == 0:
print(step, sess.run(W), sess.run(b)) # 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]


参考文章:

1.https://blog.csdn.net/u013832707/article/details/73161071
<https://blog.csdn.net/u013832707/article/details/73161071>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信