TensorFlow从0到1 - 18 - TensorFlow 1.3.0安装手记
《TensorFlow从0到1》写到现在,TensorFlow的版本也从当时的1.1.0迭代到了8月初发布的1.3.0。可以预见在未来很长一段时间里,它仍会持续快速的迭代更新。
除了考虑与最新版TensorFlow尽量保持同步之外,鉴于conda虚拟环境可以非常容易的重新构建开发环境,并可以和老的并存,所以对于学习者来说,似乎没有什么理由不下手了。
本篇基于1 Hello,TensorFlow!,在Windows环境下安装CPU版TensorFlow 1.3.0。
TensorFlow
Step 1:新建conda虚拟环境
在1 Hello,TensorFlow!中创建了conda虚拟环境“tensorflow” for 1.1.0。为了保留它,我以“tensorflow13”命名新的conda虚拟环境for 1.3.0:
C:> conda create -n tensorflow13
创建conda虚拟环境
Step 2:升级Python到3.6.1+
从TensorFlow 1.2.0开始支持了Python 3.6.x,在上一节创建conda虚拟环境“tensorflow13”时没有特别指定Python版本,所以此时我的Python版本是Anaconda 4.3.1的默认搭配3.6.0。
可是Python3.6.0并不行。TensorFlow 1.3.0会安装依赖Numpy的1.13.1版本,这个版本在Python3.6.0下会产生问题:Importing the multiarray numpy extension module failed。
解决上面问题一个简单可行的办法就是升级Python到3.6.1+,我则直接更新到了最新的3.6.2:
activate tensorflow13
conda update python
安装python 3.6.2
Step 3:升级dask
现在还是不要着急安装TensorFlow 1.3.0,否则可能会遇到新问题:“AttributeError: module 'pandas' has no attribute 'computation'”。
解决它的一个简单办法就是升级dask到0.15.1:
conda install dask
安装dask 0.15.1
Step 4:安装TensorFlow 1.3.0
终于到安装TensorFlow 1.3.0了!遗憾的是清华大学开源软件镜像站迟迟未提供TensorFlow 1.3.0 Windows版本安装包(Linux和Mac下没有这个问题),而只提供了1.3.0rc0的版本。
另一个提供TensorFlow安装包的源是Python的官网,可以先将CPU版安装包tensorflow-1.3.0-cp36-cp36m-win_amd64.whl下载到本地,然后执行本地安装:
pip install --ignore-installed --upgrade D:ProjectTensorFlowtensorflow-1.3.0-cp36-cp36m-win_amd64.whl
安装TensorFlow 1.3.0
代码迁移
本系列的示例代码存放在GitHub,其中文件夹命名的含义如下:
- TF1_1:TensorFlow 1.1.0下运行的代码;
- TF1_3:TensorFlow 1.3.0下运行的代码;
本篇之前的示例代码都在文件夹TF1_1中(大多数都可以在TensorFlow 1.3.0环境下无需修改直接运行),后面新的示例代码都会在TensorFlow 1.3.0下测试并提交到TF1_3中。
Hello, TensorFlow
在虚拟环境tensorflow13中,启动python,运行以下测试:
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
打印成功则表示安装成功。
- 智能机器人崛起背后的中国力量
- 企业微服务架构转型-实施步骤
- Andrew Ng机器学习课程笔记--week2(多元线性回归&正规公式)
- 科技第六感:黑客控制你的车!不信?其实很简单
- python多版本的pip共存问题解决办法
- C++ 对vector进行排序
- 小程序优化36计
- 神经网络权重初始化问题
- Andrew Ng机器学习课程笔记--week11(图像识别&总结划重点)
- 市民近期到南沙有望体验到无人驾驶技术
- Andrew Ng机器学习课程笔记--week10(优化梯度下降)
- Andrew Ng机器学习课程笔记--week9(下)(推荐系统&协同过滤)
- Andrew Ng机器学习课程笔记--week9(上)(异常检测&推荐系统)
- python程序员开发必备的5大工具,你用过几个?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel框架实现后台登录、退出功能示例
- Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
- Linux查看进程的所有信息的办法示例
- PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
- Python基于traceback模块获取异常信息
- PHP实现微信商户支付企业付款到零钱功能
- PHP调用微博接口实现微博登录的办法示例
- thinkphp3.2同时连接两个数据库的简单方法
- php实现微信企业付款到个人零钱功能
- php中对象引用和复制实例分析
- php中上传文件的的解决方案
- PHP实现与java 通信的插件使用教程
- thinkPHP5框架接口写法简单示例
- php实现数组重复数字统计实例
- php提取微信账单的有效信息