【发布时间】:2018-01-26 17:56:07
【问题描述】:
我已经安装了 tensorflow 1.2.1,我需要将它降级到 1.1 版才能运行特定的教程。安全的方法是什么?我正在使用 Windows 10,python 3.5。 TensorFlow 是用 pip3 安装的,但是“pip3 show tensorflow”返回空白。
是否可以在同一个操作系统上拥有多个版本的 tensorflow?
【问题讨论】:
标签: python tensorflow
我已经安装了 tensorflow 1.2.1,我需要将它降级到 1.1 版才能运行特定的教程。安全的方法是什么?我正在使用 Windows 10,python 3.5。 TensorFlow 是用 pip3 安装的,但是“pip3 show tensorflow”返回空白。
是否可以在同一个操作系统上拥有多个版本的 tensorflow?
【问题讨论】:
标签: python tensorflow
Pip 允许指定版本
pip install tensorflow==1.1
【讨论】:
(from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
是否可以在同一个操作系统上拥有多个版本的 tensorflow?
是的,您可以为此使用 python 虚拟环境。来自docs:
虚拟环境是一种通过为不同项目创建虚拟 Python 环境来将不同项目所需的依赖项保存在不同位置的工具。它解决了“项目 X 依赖于版本 1.x 但项目 Y 需要 4.x”的困境,并保持您的全局站点包目录清洁和可管理。
安装完virtualenv(见docs)后,您可以为教程创建一个虚拟环境并在其中安装您需要的tensorflow版本:
PATH_TO_PYTHON=/usr/bin/python3.5
virtualenv -p $PATH_TO_PYTHON my_tutorial_env
source my_tutorial_env/bin/activate # this activates your new environment
pip install tensorflow==1.1
PATH_TO_PYTHON 应该指向系统上安装 python 的位置。
当你想使用其他版本的 tensorflow 时执行:
deactivate my_tutorial_env
现在您可以再次使用系统上已安装的 tensorflow 版本。
【讨论】:
我发现了 anaconda 的乐趣:https://www.continuum.io/downloads。它允许多个虚拟环境托管不同版本的 phyton 和 tensorflow。例如下面用pyton3.5和tensorflow1.1创建一个虚拟环境
C:> conda create -n tensorflow1.1 python=3.5
C:> activate tensorflow1.1
(tensorflow1.1)
C:> pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0-cp35-cp35m-win_amd64.whl
瞧,创建了一个虚拟环境。
【讨论】:
如果您在 windows 上使用 python3,那么您也可以这样做
pip3 install tensorflow==1.4
您可以从“(从版本:1.2.0rc2、1.2.0、1.2.1、1.3.0rc0、1.3.0rc1、1.3.0rc2、1.3.0、1.4.0rc0、1.4.0rc1、 1.4.0、1.5.0rc0、1.5.0rc1、1.5.0、1.5.1、1.6.0rc0、1.6.0rc1、1.6.0、1.7.0rc0、1.7.0rc1、1.7.0)"
当我想从 1.7 降级到 1.4 时,我这样做了
【讨论】:
(from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
您可以尝试使用--no-cache-dir 和-I 的选项来覆盖之前版本的缓存并安装新版本。例如:
pip3 install --no-cache-dir -I tensorflow==1.1
然后使用以下命令查看tensorflow的版本:
python3 -c ‘import tensorflow as tf; print(tf.__version__)’
它应该显示安装了正确的版本。
【讨论】:
pip install tensorflow==[version] 确实可以降级。
(from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
如果你有 anaconda,你可以安装想要的版本,conda 会自动为你降级当前的包。
例如:
conda install tensorflow=1.1
【讨论】:
注意:您不能安装任意版本的 tensorflow,它们必须与您的 python 安装相对应,这里的大多数答案都没有传达这一点。对于current wheels like here(来自上面的this answer)也是如此。对于此示例,在 url 中找到的 cp35-cp35m 暗示它适用于 Python 3.5.x
可以在here on github 找到大量不同轮子/兼容性的列表。 通过使用它,您可以降级到几乎所有可用的版本,并结合相应的 for python。例如:
pip install tensorflow==2.0.0
(请注意,在我的例子中,在安装 Python 3.7.8 和 3.8.3 之前,你会得到这个:
ERROR: Could not find a version that satisfies the requirement tensorflow==2.0.0 (from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
ERROR: No matching distribution found for tensorflow==2.0.0
这也适用于其他不兼容的组合。)
这对于不支持 AVX 的旧 CPU 或计算能力太低的 GPU 也应该很有用。
如果您只需要最新版本(在您的问题中听起来不像),则可以在 this tensorflow page 上找到当前车轮包的 url 列表。来自SO-answer。
注意:This link to a list 的不同版本对我不起作用。
【讨论】: