Windows上安裝Tensorflow踩的坑
前言
看到Rstudio中開始支持Tensorflow,本人是欣喜若狂的,同時TensorFlow官網從16年9月低開始支持windows安裝了,不免想試試在自己的Windows上用R跑跑tensorflow的。可是事與願違,倒騰了一周今天正式宣布,暫停這一實踐。但失敗的嘗試也不能白失敗了,拿出來晒晒說不定有高人指點呢,特此把踩過的坑述說一二,一來是尋求幫助,二來也是警惕來者,「此處有坑,請小心繞道」吧。
在Rstudio運用R實現Tensorflow的一般步驟
按照TensorFlow for R官網說明,運用R實現Tensorflow主要包含4步(如下),其中關鍵步驟在於安裝好Tensorflow以及tensorflow R 包與python的連接。
從TensorFlow官網安裝TensorFlow.
安裝tensorflow R 包
devtools::install_github("rstudio/tensorflow")
載入TensorFlow
Sys.setenv(TENSORFLOW_PYTHON="/usr/local/bin/python")library(tensorflow)
驗證安裝
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方法。需要注意的坑有以下幾點:
安裝python3.5.2,64bit並且記住不能是python2.7,python3.5.x或者python3.6,謹記。
升級pip到最新版本(如果windows沒有安裝pip,請自行安裝,並設置好系統環境)
按照官網命令安裝tensorflow
pip3 install --upgrade tensorflow
好吧,我承認第3點這個坑,我至今還沒爬上來,原因是總出現如下錯誤:
在網上搜索了各種嘗試均沒有安裝成功,其中的嘗試有:
在pip語句中加入「–ignore-installed」,仍然除現同一錯誤。
pip install --upgrade --ignore-installed tensorflow
把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」
把「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 |