Anaconda 安装 TensorFlow 1.15 而不是 2.0
Posted
技术标签:
【中文标题】Anaconda 安装 TensorFlow 1.15 而不是 2.0【英文标题】:Anaconda installs TensorFlow 1.15 instead of 2.0 【发布时间】:2020-03-15 13:31:54 【问题描述】:我一直在尝试在 Anaconda 中安装 Tensorflow 2.0。
到目前为止,tensorflow 工作正常(我可以在我的代码中使用该库),但是当我安装它时,它显示“正在安装版本:2.0”,然后我得到了 1.15 版本。
整个包的结果是可更新的(因为版本 2.0 确实存在并且应该可用),但即使我尝试更新它,我也会不断得到 1.15,它又回到了可更新状态,然后我又回到了循环中。
我尝试了从 Anaconda Navigator 界面和使用 conda update tensorflow
的提示符,但没有任何成功。
这里有链接包:tensorflow 2.0 Anaconda
我该如何解决这个问题?
编辑:
我使用conda install -c anaconda tensorflow
成功安装了 TensorFlow 2.0。然后我回到 Anaconda Navigator 并尝试安装 Keras 2.2.4。
查看已安装的包,似乎安装 Keras 会用 1.15 覆盖 TensorFlow 的 2.0 版本,我错了吗?这是一个错误吗?
这是图片:
【问题讨论】:
虽然我迟到了,你会不会碰巧有环境的内容(使用conda list
之类的东西)?
【参考方案1】:
另一种选择是安装Tensorflow
和Miniconda
。
我只是在 windows 上使用了Miniconda3
,我能够分别在不同的环境中安装多个版本的Tensorflow
。
示例 1
// create a new environment
conda create --name workflowone
// activate environment
conda activate workflowone
// Install desired package
conda install tensorflow=1.15
// deactivate environment
conda deactivate
示例 2
// create a new environment
conda create --name workflowtwo
// activate environment
conda activate workflowtwo
// Install desired package
conda install tensorflow // If you do not specify the version, you will download the latest version of Tensorflow
// deactivate environment
conda deactivate
【讨论】:
对于gpu版本,使用conda install tensorflow-gpu=1.15
【参考方案2】:
conda install -c anaconda tensorflow-gpu
或
conda install -c anaconda tensorflow
寻找这些:
提示:在安装之前,在您的 Anaconda 环境中完全粉碎任何带有名称子字符串“keras”和“tensorflow”的文件 - 否则东西可能会损坏。
-
导航到您的
site-packages
搜索**keras**
--> 删除所有结果
搜索**tensorflow**
--> 删除所有结果
从环境的根文件夹(例如envs/tf2_env
)上面应该可以更好地工作——这个想法是,Anaconda 缓存它已经安装的任何东西,所以如果它没有被完全删除,你可能会遇到获取最新版本的包的麻烦.
相关问题在 cmets 中的回答:
为什么当我尝试安装 Keras 2.2.4 时 conda 将 TF 2 还原为 TF 1.15.0?
TF2 仅与 Keras 2.2.5+ 兼容,因此 conda 负责兼容性为什么某些from keras
导入不再起作用而需要from tensorflow.keras
?
from keras
与 from tensorflow.keras
在实现方面非常不同。 from keras
是后端中立的,而 tf.keras
与 TF 更紧密地集成在一起。也可以是significant performance differences。 TF2 及以后,tf.keras
更可取,开发将沿着它进行,如 F. Chollet 所述
还要提防tf.python.keras
【讨论】:
我必须同时安装 tensorflow 和 tensorflow-gpu 还是一个就足够了?如果我从 anaconda 导航器中删除已经安装的软件包,或者我必须手动删除文件(使用资源管理器),可以吗? @MattiaSurricchio Explorer 是最好的选择 - 只有 一个 就足够了 无论如何我更新了问题,似乎在安装软件包时可能存在错误。似乎keras覆盖了tensorflow版本 @MattiaSurricchio 不是错误; TF2 仅与 Keras 2.2.5+ 兼容,因此 conda 在这里负责兼容性 也许我遗漏了一些东西,Keras 现在是否嵌入到了 TensorFlow 包中?我已经正确安装它并且它可以工作,但我必须重写我的导入,例如from tensorflow.keras import Sequential
,而在我只使用from keras import Sequential
之前。这让我觉得现在 Keras 附带了 TensorFlow 2.0,我不需要将它作为单独的包安装,我错了吗?【参考方案3】:
就我而言,这解决了问题:
pip3 install tensorflow==2.0.0a0
甚至:
pip3 install tensorflow --upgrade
【讨论】:
我避免使用 pip,因为我读到如果与 anaconda 匹配可能会导致一些“兼容性”问题。是否可以“留在”anaconda 框架内? OP 明确要求提供 conda 解决方案。 Mattia 我建议你不要混合 conda 和 pip,特别是如果你要在生产中使用 env。最终你可以从 pip 构建一个 conda 包【参考方案4】:本周我一直在努力解决这个问题,并找到了一个简单的解决方案: 转到 Anaconda Navigator(确保您拥有最新更新),单击“环境”并从下拉菜单中选择“未安装”。在搜索字段中输入“tensorflow”。单击“tensorflow”复选框,但不单击“keras”复选框。单击“应用”,它将安装 2.0 以及 keras。那么你所要做的就是使用它们:
将张量流导入为 tf
从张量流导入 keras
如果您之前安装了非预期版本,请先将其全部删除,然后再执行上述操作。
【讨论】:
【参考方案5】:解决了
$ conda update --prefix # first step
$ conda 4.8.2 # lates Anaconda
打开Anaconda --> 创建环境--> 选择python V3.6 --> 搜索/选择 TensorFlow 2.0 == Anaconda 将升级依赖项
这个新环境中的最新 Jupyter
$ jupyter --version # latest jupyter notebook version created with pyton 3.6
jupyter core : 4.6.1
jupyter-notebook : 6.0.0
【讨论】:
【参考方案6】:感谢@OverLordGoldDragon 的提示。
他的回答总结是:
1) 不要更新(将失败并显示神秘的错误消息)
2) 卸载与 Anaconda 捆绑的 tensorflow 1.15
conda remove tensorflow
3) 重新安装 tensorflow(现在默认为 2.0)。
conda install tensorflow
非常适合我。谢谢!
【讨论】:
以上是关于Anaconda 安装 TensorFlow 1.15 而不是 2.0的主要内容,如果未能解决你的问题,请参考以下文章
Win10 安装 Anaconda3 用 Anaconda3 安装TensorFlow 1.2 (只支持python3.5)
Windows解决anaconda下双python版本安装TensorFlow
Anaconda 安装 TensorFlow 1.15 而不是 2.0
TensorFlow安装及实例-(Ubuntu16.04.1 & Anaconda3)