TensorFlow在windows 下的安装


前言:从2015年谷歌将tensorflow开源后,这位用于深度学习的强大神器便把Caffe,Keras,Torch7等这一票人全部干掉,github上的star和fork是一路飙升,几乎是它们的总和,当然,我这里不是对谷歌的日常互舔,从发布博主就一直关注它的最新消息,并啃了原生英文版的官方API,感谢极客学院各位大佬将它翻译成了中文版,博主也及时的对照中文,将它又滋润了两遍,两遍下来,我捉摸着先把系统打好,再进行炼丹。这家伙好了,几乎用了我一天的世界,踩过无数的坑,无数次谷歌,百度,知乎,论坛,才终于搭建好了我的tensorflow环境,也终于写出了我的“Hello TensorFlow!”。虽然博主涉猎过linux,但愧于博主那简陋的电脑无法在虚拟机上提供足够大的内存,所有我决定铤而走险,搭建基于windows版的野生的tensorflow。

再说一句:本文为那些想要搭建tensorflow的童鞋提出可行方案,只想以博主惨痛的经历为你们填好不必要的坑,让你们轻装上阵,将重点放在后面的学习中。


1.安装Anaconda

tensorflow是基于python脚本语言的,是一种高级应用,它必须依赖于底层的应用发挥作用。因此需要安装python,当然还需要安装numpy、scipy、six、matplotlib等几十个扩展包。如果一个个安装,十分耗费时间,不过现在有了集成环境anaconda,安装就方便了。python的大部分扩展包,都集成在anaconda里面了,因此只需要装这一个东西就行了。如果你想更多的去了解Anaconda,可以参考Anaconda官方API,友情提示:它是洋文哦!

1)先到官网下载,Anaconda官方下载地址


如果你嫌弃官网下载太slow,清华大学镜像网,这里有你想要的Anaconda镜像。

注意版本,现在实在最稳定的应该是4.3.0的Anaconda,它自带python3.6

然后安装也就灰常简单啦!

现在我们打开终端,输入conda –version

我们看到版本是4.3.8

2)由于tensorflow最适合的版本是python3.5,所以我们不能使用Anaconda自带的3.6的,这里我们要下载3.5版的Python

在终端输入conda create –name tensorflow python=3.5.2,我这里使用的是3.5.2,你可以随意选择

然后,一马平川的安装好了。

3)看到这里,心里有点小鸡冻,按照提示,激活tensorflow环境:activate tensorflow

它前面的括号代表当前环境为tensorflow,看到这里,你已经将准备工作做好了。

4)你可以退出当前环境:deactivate tensorflow

5)当然,你可以对tensorflow环境进行切换:activate tensorflow,你还可以查看当前Python版本

想肿么玩就肿么玩,看到这,你的Anaconda安装以及tensorflow准备工作已经圆满完成(此处应该有掌声!!!)

PS:可以看出此时的Python版本是我们之前安装的3.5.2,而不是Anaconda自带的3.6,这点是至关重要的,请确保你的Python版本。

2.安装TensorFlow

强调:这里是Windows下的基于Anaconda的TensorFlow安装(博主用的是W7)

由于博主简陋的笔记本,我选择cpu版的TensorFlow进行安装。

1)方式一:选择官方文档的安装

pip install –ignore-installed –upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl
如果这里会报错的话,就选择一下一种方式

2)方式二:pip install tensorflow

然后博主就是在这里卡了无数次壳,下载到一半,突然来个

然后好不容易下载了tensorflow,在下载它的几个支持包的时候,又来了个异常

上面的意思大概是请求超时的原因,不过,各位小伙伴如果遇到这个问题不要紧张,每次遇到这种问题时,重新输入上面的指令:pip install tensorflow

3)等待大概三分钟,你会看到这些信息:

紧接着:

4)看到Successfully installed,博主真是泪流满面,你可以输入python,检查一下版本是否是3.5.2

3.重点来了

1)很多童鞋安装到这,以为自己以及成功的安装了TensorFlow,事实上,你确实以及成功安装了TensorFlow,打开你的Anaconda文件夹,在envs文件夹下你可以看到tensorflow的环境已经加入

2)然后你兴致勃勃的打开Spyder准备写你的Hello TensorFlow,忽然蹦出的错误让你措手不及。

明显你的环境中没有tensorflow这个module(模块),但请注意这时你的Python环境,这是你的Python为3.6,明显是Anaconda自带的,现在你终于记起上面让你下载的python3.5.2的吧!

所以你需要运行TensorFlow环境下的基于python3.5.2的Spyder,这也是博主最为头痛的一个地方,因为为了这一点,博主没少花时间去查阅资料。

3)安装TensorFlow环境下的Spyder插件

首先,你需要进入Anaconda Prompt-python里面,然后激活TensorFlow,导入TensorFlow,最后还可以确认你的Python版本。

点击Anaconda Prompt-python,在这:

输入activate tensorflow,导入import tensorflow as tf,检查Python版本

接着,你进入Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator),注意,现在的Application栏是root,也就是Anaconda的根,此时的环境是python3.6.

所以,你需要切换到TensorFlow下面,然后再安装Spyder,你还可以选择安装qtconsole,notebook,或者orange。

注意,我这里是已经安装过的(博文是安装后在写的),你首次安装时应该是install


4)激动人心的Hello TensorFlow

打开Spyder,写下我们第一个Hello 。

控制台中那久违的字符串让博主热泪盈眶。

5)配置不同Python环境以及插件

很多童鞋在写机器学习算法时,习惯于用很稳定的Python2.7,或者其他版本的Python,Anaconda允许你创建不同环境的Python以及插件。

点击Environment,下面有create按钮,点击进入,可以配置新的Python环境,你可以明显看见我这里早已配置了Python2.7

接下来,你也可以仿照前面的步骤,为新Python配置一些IDE,这会大大方便我们的编写。

4.总结

花了将近满满的一天时间,中午点了份外卖,就这样和着我的冰镇可乐一直干到了深夜,windows下的安装让我叫苦连天(亚麻跌,亚麻跌),不过,最后感谢各大网友和csdn论坛的朋友给我提供的信息,让我成功的完成了野生版的TensorFlow安装,写这篇博客,希望你们能够较为顺利的安装,并把时间精力省出来,重点关注后面的TensorFlow内容。

一些资料:

TensorFlow官方安装API(洋文版)

极客学院的TensorFlow译版(中文版)

一些关于深度学习和机器学习的书籍(博主收编)

</div>

TensorFlow在windows 下的安装的更多相关文章

  1. HTML5实现直播间评论滚动效果的代码

    这篇文章主要介绍了HTML5实现直播间评论滚动效果的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 前端监听websocket消息并实时弹出(实例代码)

    这篇文章主要介绍了前端监听websocket消息并实时弹出,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. HTML5之消息通知的使用(Web Notification)

    通知可以说是web中比较常见且重要的功能,私信、在线提问、或者一些在线即时通讯工具我们总是希望第一时间知道对方有了新的反馈。本篇文章主要介绍了HTML5之消息通知的使用(Web Notification),感兴趣的小伙伴们可以参考一下

  4. HTML5中的Web Notification桌面通知功能的实现方法

    这篇文章主要介绍了HTML5中的Web Notification桌面通知功能的实现方法,需要的朋友可以参考下

  5. HTML5仿微信聊天界面、微信朋友圈实例代码

    小编最近开发一个基于html5开发的一个微信聊天前端界面,功能很全面,下面小编给大家分享实例代码,需要的朋友参考下

  6. HTML5的postMessage的使用手册

    HTML5提出了一个新的用来跨域传值的方法,即postMessage,这篇文章主要介绍了HTML5的postMessage的使用手册的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. ios – Testflight无法安装应用程序

    我有几个测试人员注册了testflight并连接了他们的设备……他们有不同的ios型号……但是所有这些都有同样的问题.当他们从“safari”或“testflight”应用程序本身单击应用程序的安装按钮时……达到约90%并出现错误消息…

  8. xcode找不到匹配的配置文件

    我有一个AdhociOS应用程序,它给了我“在xcode6中找不到匹配的配置文件”,我创建了一个Adhoc配置文件,下载它,双击它并在General–Identity下选择了一个团队.但我接着得到了那条消息,并尝试使用“修复问题”按钮没有帮助.在构建设置–供应配置文件–发布我有“自动”.任何人都可以帮助我,我完全迷失了……

  9. ios – 如何使用Objective C类中的多个参数调用Swift函数?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  10. ios – Swift 4添加手势:覆盖vs @objc

    我想在我的视图中添加一个手势,如下所示:但是,在Swift4中,我的编译器给出了以下错误:建议添加@objc以将此实例方法公开给Objective-C.实现此目的的另一个选项将覆盖touchesBegan()函数并使用它来处理点击.我试图以“Swift”的方式做到这一点,而不必带入Obj-C.有没有纯粹的Swift方式来添加这个轻击手势而不使用@objc?

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部