Tensorflow安裝配置


# TensorFlow 安裝配置

---

## 現(xiàn)有的機器環(huán)境

> `CentOS 7 (Linux 3.10.0-327.el7.x86_64)`

> `gcc 4.8.5`

> `glibc 2.17`

> `cuda 7.5`

> 沒有 `g++`、`libstdc++`、`cudnn`、`Java 1.8` 和 `bzip2`、`unzip`、`swig`、`zlib-devel`

> 因為使用 `Anaconda` 提供 `python` 環(huán)境,所以并不依賴系統(tǒng)的 `python 2.7.5`

## 先使用管理員權(quán)限做一些必要的準備工作

### 1. 設置新用戶 danliu

```

[root ~]# useradd danliu

[root ~]# passwd danliu

```

### 2. 安裝必備軟件

#### g++ 4.8.5

```

[root ~]# yum install gcc-c++

```

libstdc++ 會作為依賴項一并安裝

### bzip2, unzip, swig 和 Java 1.8

```

[root ~]# yum install bzip2 unzip swig zlib-devel java-1.8.0-openjdk-devel

```

### package.zip

[root ~]# cd /home/

[root ~]# unzip packages.zip

[root ~]# cd /packages/

[root ~]# mv * /home/danliu

[root ~]# cd ..

[root ~]# rm -rf packages

[root ~]# cd /home/danliu/

### bazel

bazel 作為構(gòu)建工具,安裝在系統(tǒng)里更方便。

```

[root ~]# chmod +x bazel-0.3.1-installer-linux-x86_64.sh

[root ~]# ./bazel-0.3.1-installer-linux-x86_64.sh

```

## 使用普通賬戶 danliu 登陸并繼續(xù)接下來的安裝

### 安裝 Anaconda

```

[root ~]# chown -R danliu:danliu /home/danliu

[root ~]# su danliu

[danliu ~]$ chmod +x Anaconda2-4.1.1-Linux-x86_64.sh

[danliu ~]$ ./Anaconda2-4.1.1-Linux-x86_64.sh

Do you wish the installer to prepend the Anaconda2 install location

to PATH in your /home/danliu/.bashrc ? [yes|no]

[no] >>> yes

```

默認的安裝目錄是 `~/anaconda2/` (`/root/anaconda2`)

安裝完成后

```

source ~/.bashrc

```

### 添加已有的 cuda 7.5 安裝

和下面的安裝 cudnn v5 一起做

### 安裝 cudnn v5

```

[danliu ~]$ tar -xzvf cudnn-7.5-linux-x64-v5.0-ga.tar.gz

[danliu ~]$ mv cuda/ cudnnv5

```

把下面的內(nèi)容添加到 `~/.bashrc` 里

```

# CUDA

vim ~/.bashrc

export PATH=/usr/local/cuda-7.5/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$HOME/cudnnv5/lib64:$LD_LIBRARY_PATH

```

### 修改 TensorFlow 的一處 bug

TensorFlow 下的 `third_party/gpus/crosstool/CROSSTOOL` 存在一個可能導致構(gòu)建出錯的問題,如果使用 Ubuntu 14.04 可以無視,使用 CentOS 7 則必須要修改

```

[danliu ~]$ unzip tensorflow-src.zip

[danliu ~]$ mv tensorflow-master tensorflow-cudnnv5

[danliu ~]$ cd tensorflow-cudnnv5

[danliu ~]$ vi third_party/gpus/crosstool/CROSSTOOL

```

在第 66 行和第 67 行之間添加一行`cxx_builtin_include_directory: "/usr/local/cuda-7.5/include"`

```

@@ -64,6 +64,7 @@

cxx_builtin_include_directory: "/usr/lib/gcc/"

cxx_builtin_include_directory: "/usr/local/include"

cxx_builtin_include_directory: "/usr/include"

+? cxx_builtin_include_directory: "/usr/local/cuda-7.5/include"

tool_path { name: "gcov" path: "/usr/bin/gcov" }

# C(++) compiles invoke the compiler (as that is the one knowing where

```

### 配置 TensorFlow

```

[danliu *]$ ./configure

```

注意 cudnn 的路徑是之前設置的 `/home/danliu/cudnnv5`

> ERROR: Problem getting numpy include path.? Is numpy installed?

### 編譯和測試

```

# 下面的 // 不是注釋是一行

[danliu *]$ bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

[danliu *]$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu

```

### 構(gòu)建可以遷移的 tensorflow wheel 包

```

[danliu *]$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

[danliu *]$ bazel-bin/tensorflow/tools/pip_package/build_pip_package ./tensorflow_pkg

```

> bazel-bin/tensorflow/tools/pip_package/build_pip_package:行65: rsync: 未找到命令

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Anaconda(Python) + TensorFlow 安裝 (Ubuntu 16.04 & Python3 ...
    mozre閱讀 1,248評論 0 2
  • 1. 介紹 首先讓我們來看看TensorFlow! 但是在我們開始之前,我們先來看看Python API中的Ten...
    JasonJe閱讀 11,975評論 1 32
  • 安裝tensorflow的過程中遇到了很多大大小小的問題,下面總結(jié)一些自己的安裝流程,也算是對自己在這方面的一個總...
    YoungManSter閱讀 4,391評論 0 3
  • 配置GPU加速的tensorflow 說明1:Tensorflow本身的安裝是很容易的,但是深度學習訓練的實際數(shù)據(jù)...
    beijingopera閱讀 9,377評論 0 3
  • 網(wǎng)址 下載與安裝 你可以使用我們提供的 Pip, Docker, Virtualenv, Anaconda 或 源...
    九七學姐閱讀 4,912評論 3 11

友情鏈接更多精彩內(nèi)容