Windows上安裝Tensorflow踩的坑

前言

看到Rstudio中開始支持Tensorflow,本人是欣喜若狂的,同時TensorFlow官網從16年9月低開始支持windows安裝了,不免想試試在自己的Windows上用R跑跑tensorflow的。可是事與願違,倒騰了一周今天正式宣布,暫停這一實踐。但失敗的嘗試也不能白失敗了,拿出來晒晒說不定有高人指點呢,特此把踩過的坑述說一二,一來是尋求幫助,二來也是警惕來者,「此處有坑,請小心繞道」吧。

在Rstudio運用R實現Tensorflow的一般步驟

按照TensorFlow for R官網說明,運用R實現Tensorflow主要包含4步(如下),其中關鍵步驟在於安裝好Tensorflow以及tensorflow R 包與python的連接。

  1. 從TensorFlow官網安裝TensorFlow.

  2. 安裝tensorflow R 包

devtools::install_github("rstudio/tensorflow")

  1. 載入TensorFlow

Sys.setenv(TENSORFLOW_PYTHON="/usr/local/bin/python")library(tensorflow)

  1. 驗證安裝

library(tensorflow)sess = tf$Session()hello <- tf$constant("Hello, TensorFlow!")sess$run(hello)

踩過的一號坑——tensorflow在windows上的安裝

在之前的文章中,曾經通過Docker的方法,實現了在windows上安裝tensorflow,感興趣的出門左轉,在公眾號查看「Deep Learning 學習(三)——在window下運行tensorfolw」。現在官網有了windows支持版,當然是要嘗試嘗試的。 官網給出windows安裝tensorflow有兩種方法:

  • 「native」 pip

  • Anaconda

於是首先我嘗試用Anaconda進行安裝。在官網下載 Anaconda(目前有Anaconda2和Anaconda3,分別支持python2.7和python3.6),由於在windows中tensorflow需要python3,本人下載的Anaconda3。根據官網操作步驟,安裝完成後,進入Anaconda prompt,進行如下操作

1.在conda獨立空間中創建一個名為tensorflow的環境名,在這裡需要加上「python = 3「 表示在python3中建立環境」

2.激活創建的環境

3.安裝tensorflow的CPU版本,當然也有GPU版本,但需要NVIDIA的顯卡,小弟太窮,只能望「卡」興嘆了。

#1.在conda獨立空間中創建一個名為tensorflow的環境conda create -n tensorflow python = 3.5.2#2.激活創建的環境activate tensorflow#3.安裝tensorflow的CPU版本(tensorflow)C:> pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.1-cp35-cp35m-win_amd64.whl

經過幾番嘗試,成功在windows上安裝上了Tensorflow,不免十分興奮,驗證如下圖:

但是興奮得太早,Rstudio官網中有行小字:「NOTE: You should NOT install TensorFlow with Anaconda as there are issues with the way Anaconda builds the python shared library that prevent dynamic linking from R.」 直接給了我當頭一棒,這裡明確說明通過Anaconda安裝tensorflow無法在R中實現,即「You should NOT install TensorFlow with Anaconda」!!(此處省略一萬個感嘆號!)

踩過的二號坑——運用native pip 安裝 tensorflow

回到原點,再次在windows上安裝tensorflow,這次是採樣pip方法。需要注意的坑有以下幾點:

  1. 安裝python3.5.2,64bit並且記住不能是python2.7,python3.5.x或者python3.6,謹記。

  2. 升級pip到最新版本(如果windows沒有安裝pip,請自行安裝,並設置好系統環境)

  3. 按照官網命令安裝tensorflow

    pip3 install --upgrade tensorflow

    好吧,我承認第3點這個坑,我至今還沒爬上來,原因是總出現如下錯誤:

在網上搜索了各種嘗試均沒有安裝成功,其中的嘗試有:

  1. 在pip語句中加入「–ignore-installed」,仍然除現同一錯誤。

pip install --upgrade --ignore-installed tensorflow

  1. 把whl文件下載到本地,在文件夾下進行安裝

    pip install tensorflow-1.0.0-cp35-cp35m-win_amd64.whl

提示「tensorflow-1.0.0-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform」

3.在網路中安裝

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.1-cp35-cp35m-win_amd64.whl

同樣提示「tensorflow-1.0.0-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform」

  1. 把「cp35-cp35m」改成「py3-none」

    pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.1-py3-none-win_amd64.whl

同樣提示「tensorflow-1.0.0-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform」

還有其他嘗試,但都一一失敗,也有博客認為安裝「pip3 install --upgrade tensorflow」出現「No matching distribution found for tensorflow」是網路原因,但我也嘗試了很多,都沒有安裝成功。

其他坑——請準備最新版的Rstudio

當然還有其他淺點的「坑」,比如安裝devtools::install_github("rstudio/tensorflow")時,需要最新版Rtools,並先保證Rstudio是v 1.0或更高版本等。

寫在最後

其實運用R實現tensorflow並不需要在windows環境下,並且不得不承認的是windows本身就是一個「奇深無比的坑」。但是既然官網均有安裝示例,又說明通過R實現tensorflow是十分可行的思路。也讓python粉們看看,tensorflow 絕不僅僅是python的「專利」。最後,再次發出「求救信號」,對本人沒爬出來的坑,可否指點一二,再次不勝感激!

------------------------------------------

作者:余文華

專欄:樂享數據DataScientists的博客專欄

公眾號:樂享數據DataScientists

大家也可以加小編微信:tsbeidou (備註:知乎),進R語言中文社區 交流群,可以跟各位老師互相交流


推薦閱讀:

Python 家族有多龐大
Python數據分析及可視化實例之CentOS7.2+Python3x+Flask部署標準化配置流程
Flask 實現小說網站 (二)
Python實現3D建模工具

TAG:R编程语言 | TensorFlow | Python |