【问题标题】:How to downgrade tensorflow, multiple versions possible?如何降级张量流,可能有多个版本?
【发布时间】: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


    【解决方案1】:

    Pip 允许指定版本

    pip install tensorflow==1.1

    【讨论】:

    • 我需要先卸载1.2版本吗? pip 卸载 tensorflow 不起作用。
    • @Yee 不,你不必先卸载它,pip 会直接这样做。但是现在我也无法重新安装 tensorflow,所以不确定问题是什么......
    • 如果你有 tensorflow 2,那么运行它会移除 tensorflow 2 并安装一个较低的版本。
    • 这仅适用于给定的版本集。在我的情况下(很多以后),这只是(from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
    【解决方案2】:

    是否可以在同一个操作系统上拥有多个版本的 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 版本。

    【讨论】:

      【解决方案3】:

      我发现了 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
      

      瞧,创建了一个虚拟环境。

      【讨论】:

        【解决方案4】:

        如果您在 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 时,我这样做了

        【讨论】:

        • 我收到此错误:找不到满足要求 tensorflow==1.6.0rc1 的版本(来自版本:1.13.0rc1、1.13.0rc2、1.13.1、1.14.0rc0、1.14。 0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1) 错误:没有找到 tensorflow==1.6.0rc1 的匹配分布
        • 这仅适用于给定的版本集。在我的情况下(很多以后),这只是(from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
        【解决方案5】:

        您可以尝试使用--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] 确实可以降级。
        • 你的意思是这不起作用? --no-cache-dir -I 选项没有帮助覆盖以前版本的缓存?通常一个没有选项的简单 pip install 命令(如您和上面提到的其他解决方案)会起作用。但是,只是在某些系统中,由于前一个会话的缓存在那里,它不允许安装旧版本。这就是为什么我建议使用上述选项来覆盖缓存。
        • 这仅适用于给定的版本集。在我的情况下(很多以后),这只是(from versions: 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.3.0rc0, 2.3.0rc1)
        【解决方案6】:

        如果你有 anaconda,你可以安装想要的版本,conda 会自动为你降级当前的包。

        例如:

        conda install tensorflow=1.1
        

        【讨论】:

        • 注意:这需要anaconda。
        【解决方案7】:

        注意:您不能安装任意版本的 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 的不同版本对我不起作用。

        【讨论】:

        【解决方案8】:

        点击已安装 tensorflow 上的绿色复选框并选择需要的版本

        【讨论】:

          猜你喜欢
          • 2021-03-12
          • 1970-01-01
          • 2018-04-11
          • 2018-10-18
          • 2021-07-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多