原文知乎:https://zhuanlan.zhihu.com/p/25778703

前言

    看到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的“专利”。最后,再次发出“求救信号”,对本人没爬出来的坑,可否指点一二,再次不胜感激!

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

windows 安装tensorflow的更多相关文章

  1. 01 Windows安装Tensorflow

    1.安装Python. 点击此处下载Python3.5.2.安装Python时一定要选择安装pip. 2.配置Python环境变量. 将%安装路径%\Scripts添加到Path下面. 3.修改Pip ...

  2. windows安装TensorFlow和Keras遇到的问题及其解决方法

    安装TensorFlow在Windows上,真是让我心力交瘁,想死的心都有了,在Windows上做开发真的让人发狂. 首先说一下我的经历,本来也就是起初,网上说python3.7不支持TensorFl ...

  3. Windows安装tensorflow,配置vs2013,anaconda3.4,cudn9.0,cudnn7.0和pycharm

    前言 最近要开始学习深度,那么首先在电脑上安装tensorflow.但是我不知道是配置版本的问题,还是安装失误的问题,我安装了很久没有安装成功,最后重装了电脑,并且融合了所有的网上可以查到的方案才安装 ...

  4. Windows安装TensorFlow

    1.下载安装Anaconda 官方地址:https://www.continuum.io/downloads/镜像地址:https://mirrors.tuna.tsinghua.edu.cn/ana ...

  5. windows安装tensorflow GPU

    一.安装Anaconda Anaconda是Python发行包,包含了很多Python科学计算库.它是比直接安装Python更好的选择. 二.安装Tensorflow 如果安装了tensorflow, ...

  6. windows安装tensorflow的一个教训

    今天没什么课,然后就准备安装tensorflow. 看了一下教程,就去做了. 然后就犯了错误.网上的教程还是有一些差异的,而我又比较大意,没有很注意到CUDA,cudnn的版本要求,也过于高估自己cp ...

  7. Windows安装tensorflow教程 GPU版

    PS:这是GPU版本,CPU版会用笔记本环境另写一篇博客. 前置准备 查看GPU型号 电脑桌面->右键我的电脑->选择管理->点击设备管理器  如下图: 如果不是英伟达显卡,那么不用 ...

  8. windows安装tensorflow简单直接的方法(win10+pycharm+tensorflow-gpu1.7+cuda9.1+cudnn7.1)

    安装tensorflow-gpu环境需要:python环境,tensorflow-gpu包,cuda,cudnn 一,安装python,pip3直接到官网下载就好了,下载并安装你喜欢的版本 https ...

  9. Windows安装TensorFlow遇到错误

    1.先检查系统是64还是32位的,检查python版本是否相符合 2.windows系统上使用tensorflow需要python3.5版本

随机推荐

  1. 004_后端js编写工具

    一.框架同事用的后端调试用的工具 google=>"webpack dev server" https://webpack.github.io/docs/webpack-de ...

  2. Python 使用 distutils 工具安装的扩展包的卸载

    Python 编写完扩展包并 build 好后,可以采用 $ sudo ./setup.py install 安装.采用这种方式安装的扩展包,可以使用 pip list 查看到,但不能直接使用 pip ...

  3. python3 迭代器

    ''' 迭代:重复的过程,并且每次迭代的结果都是下次迭代的初始值 可迭代的 Iterable 迭代器 Iterator iter(数据) == 数据.__iter__() 将数据转换为迭代器 next ...

  4. 数组升序排序的方法Arrays.sort();的应用

    package com.Summer_0421.cn; import java.util.Arrays; /** * @author Summer * 数组升序排序的方法Arrays.sort();应 ...

  5. DAO层基础设计原理

    在实际的开发中有一种项目的程序组织架构方案叫做MVC模式,按照程序 的功能将他们分成三个层,如下图 Modle层(模型层).View层(显示层).Controller层(控制层). Modle层:可以 ...

  6. Java调用FFmpeg进行视频处理及Builder设计模式的应用

    1.FFmpeg是什么 FFmpeg(https://www.ffmpeg.org)是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它用来干吗呢?视频采集.视频格式转化.视频 ...

  7. 网盘直链工具 winform版 V1.0

    软件需要.net2.0支持 win7及以上版本用户无需安装 xp用户需要安装 支持网盘:好盘 坚果云 百度云 乐视云 华为网盘 微云 新浪网盘 126disk 速度盘 乐齐盘 天空网盘 千脑网盘 可乐 ...

  8. [翻译] C# 8.0 新特性

    原文: Building C# 8.0 [译注:原文主标题如此,但内容大部分为新特性介绍,所以意译标题为 "C# 8.0 新特性"] C# 的下一个主要版本是 8.0.我们已经为它 ...

  9. iOS开发简记(5):设备唯一标识与全局变量

    这里记录两个iOS开发中经常用到的知识点,一个是唯一标识,一个是全局变量. (1)唯一标识 唯一标识一台设备(比如iPhone.iPad等)是一个基本的实现与业务上的需求,因为这个唯一标识在许多场景都 ...

  10. Redis中单机数据库的实现

    1. 内存操作层 zmalloc 系接口 redis为了优化内存操作, 封装了一层内存操作接口. 默认情况下, 其底层实现就是最简朴的libc中的malloc系列接口. 如果有定制化需求, 可以通过配 ...