2017/02/18:
最近tensorflow更新了1.0版本,安裝的方式更簡單了,我在更新后發現tf沒有支持gpu,於是卸載了后重新安裝了一下tensorflow:
在已經安裝了pip和cuda、cudnn的情況下,直接運行:
pip install tensorflow-gpu
that's it
最近剛剛接觸深度學習,安裝一下tf
環境:華碩Z170主板、i7 6700k、GTX1070、Ubuntu16.04、Python2.7
在這之前先裝好了cuda8.0、cudnn5.0、caffe
整理一個,首次嘗試從源碼安裝(由於源碼安裝過程中有一些鏈接失效未能成功,還是記錄下來了,最后是pip install的)
需要科學上網
環境是Ubuntu 16.04,依賴項就那些,此處略過,cuda8.0和cudnn5.0已經安裝,完全按照官方流程安裝,官方流程鏈接如下:
https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#installing-from-sources
首先從git倉庫克隆
$git clone https://github.com/tensorflow/tensorflow/
然后安裝一個叫bazel的東西
首先安裝依賴項
https://bazel.build/versions/master/docs/install.html#ubuntu
1:官網說15.10版本不需要裝jdk8,我們是16.04,理論上也不需要裝的,於是先跳過這一步,后邊如果報錯再回來裝下。
2:把bazel的distribution URL 添加到 packagesource里。。。怎么翻譯的。。
$ 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 -
這里出了個gpg:no valid OpenPGP data found.不知道是不是錯誤。
3:安裝bazel,300多M
$sudo apt-get update && sudo apt-get install bazel $sudo apt-get upgrade bazel
4:接着安裝bazel,用安裝包。。
$ sudo apt-get install openjdk-8-jdk $ sudo apt-get install pkg-config zip g++ zlib1g-dev unzip
這些之前都裝過了,不過還是重新運行一下確保別落下東西,反正也不會重復添加
5:下載一個installer(bazel-0.4.0-installer-linux-x86_64.sh)
https://github.com/bazelbuild/bazel/releases
6:cd到installer目錄,運行:
$chmod +x bazel-0.4.0-installer-linux-x86_64.sh $./bazel-0.4.0-installer-linux-x86_64.sh --user
7:運行
$export PATH="$PATH:$HOME/bin"
8:運行
# For Python 2.7: $ sudo apt-get install python-numpy swig python-dev python-wheel # For Python 3.x: $ sudo apt-get install python3-numpy swig python3-dev python3-wheel
我python是2.7sorun 了第一條
9:然后cd到tensorflow安裝目錄運行
$sudo ./configure
這里在google cloud platform support和opencv那里選擇了No,其余yes和默認。google cloud platform在tensorflow官方教程里是默認沒選擇的,而如果選擇了opengl則會提示安裝一個computecpp的東西,而官網內也沒有寫,索性先不裝了。
這一步遇到了“Error downloading form http://zlib.net/zlib-1.2.8.tar.gz to /home/hyf/.cache/bazel/_bazel_root/81adee05e1c21dd5b119ca6a6f33854b/external/zlib_archive”的錯誤。找了一下這個zlib.net,默認的鏈接已經失效了。。。谷歌到了靠譜版本的鏈接是“http://www.zlib.net/zlib-1.2.8.tar.gz”
嘗試進入“/home/hyf/.cache/bazel/_bazel_root/81adee05e1c21dd5b119ca6a6f33854b/external/zlib_archive”目錄,用wget命令把這個文件事先放進去。。。
依然gg。。這個鏈接下了一半又掛了。於是乎在csdn找到了資源,扔到那個目錄里。。。wtffff
“http://download.csdn.net/download/qin1174586290/6364757”
。。。這回在最一開始就有東西找不到資源了
>>>>>>>>>>>>>>>>>>>>>下邊是裝成功的方法>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
10:換一種安裝方法試一試。。。
嘗試官方安裝教程的第一種方法,用pip獲取
首先驗證必要的東西有沒有裝
$ sudo apt-get install python-pip python-dev
11:定位一個源,這里選擇Python2.7,GPUenabled,Linux64
# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7 # Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Install from sources" below. $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl
12:擦。。。這就裝好了?之前那一大片是搞什么飛機
$ sudo pip install --upgrade $TF_BINARY_URL
13:test
在test之前,開啟gpu支持
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64" $ export CUDA_HOME=/usr/local/cuda
然后就可以玩成語接龍了(為所欲為)
14:這種方法將tensorflow安裝到“/usr/local/lib/python2.7/dist-packages/tensorflow”里,官方安裝指南中說還有可能是“/usr/local/lib/python2.7/site-packages/tensorflow”,取決於你的系統。
找不到的話可以運行:
$ python -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'
如果需要更新tensorflow,運行:
$ sudo pip install -U tensorflow