用Anaconda安装旧版本TensorFlow的经验分享

问题描述:

在运行机器学习实战第一版书中的第9章代码时出现以下报错:

这个问题源自于TensorFlow的版本过高导致模块(此处为reset_graph()函数)不存在或者已经更改不再兼容

解决方案1:

安装旧版本的TensorFlow
在Anaocnda Prompt中执行下列代码语句

pip uninstall tensorflow      # 卸载tf
pip install tensorflow ==1.2.0# 安装1.2.0的tf

但是,如果你当前的Anaconda环境中的python版本为3.8,那么将无法通过上述代码完成降级安装
这是因为python3.8版本不向下兼容旧版本的tensorflow

所以最好先查看Anaconda环境中的python版本

如果你是在近期下载的Anaconda那么将那概率是python3.8
这是因为Anaconda的官网上推荐下载的皆为python3.8版本的Anaconda


你也可以在Anaocnda Prompt中通过python --version查看Anaconda环境中的Python版本

解决方案2

针对python版本为3.8的Anaconda,要安装旧版本的TensorFlow我们需要通过conda新建一个环境

1 新建环境

Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。

假设我们需要安装一个新的不同版本的Python的环境,此时,我们需要做的操作如下:
(如无特殊说明,下列代码均在Anaocnda Prompt中执行)

conda create --name 这里填写环境的名字 python=这里填写python版本

在这之后Anaconda会下载一些包,你需要在某些时刻输入y以继续

你也可以通过Anaconda navigator来实现上述操作


运行conda create 语句之后,conda仅安装python的必须项,如python, pip等

如果希望该环境像默认环境那样,则还需要安装anaconda集合包

使用activate激活这个环境

activate 你刚刚建立的环境的名称
我在此前已经建立了一个名为py36 python版本为3.6的新环境

执行下列代码语句

# 在当前环境下安装anaconda包集合
conda install anaconda
 
# 结合创建环境的命令,以上操作可以合并为
conda create -n python34 python=3.4 anaconda
# 也可以不用全部安装,根据需求安装自己需要的package即可

2. 安装相应版本的TensorFlow

执行下列语句:

conda install --channel https://conda.anaconda.org/anaconda tensorflow

在这之后Anaconda会下载一些包,你需要在某些时刻输入y以继续


anaconda智能地为我们安排了安装计划

至此已经安装成功

测试

在Anaconda navigator上选择我们的新环境,启动jupyter


在任意目录新建一个测试用文件后输入下列测试代码

import tensorflow as tf
test = tf.constant('test')
sess = tf.Session()
print(sess.run(test))
正常的输出结果

不过也有可能会遇到其他的问题,如


Futurewarning.

这是因为Numpy版本过高
解决方案为安装低版本的Numpy即可
在Anaconda Prompt 激活到你的新环境后执行

pip install numpy==1.16.4

参考文章:
module 'tensorflow' has no attribute 'get_default_graph'
使用 pip 安装 TensorFlow
Anaconda使用教程
Anaconda中安装不同版本的python并安装对应包
一、深度学习之anaconda以及Tensorflow的安装
解决FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future ver...
执行pip 命令出现Could not install packages due to an EnvironmentError错误的解决办法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容