如何降级tensorflow,可能有多个版本?

Yee*_*Yee 22 python tensorflow

我安装了tensorflow 1.2.1,我需要将其降级到1.1版才能运行特定的教程.这样做的安全方法是什么?我使用的是Windows 10,python 3.5.Tensorflow使用pip3安装,但"pip3 show tensorflow"返回空白.

是否有可能在同一个操作系统上有多个版本的tensorflow?

Jür*_*aak 34

Pip允许指定版本

pip install tensorflow==1.1

  • 如果您有tensorflow 2,则运行此命令将删除tensorflow 2并安装较低版本。 (4认同)
  • @Yee 不,您不必先卸载它,pip 会直接执行此操作。但是现在我也无法重新安装 tensorflow,所以不确定问题是什么...... (3认同)
  • 这只适用于给定的版本集。就我而言(很久以后),这只是“(来自版本:2.2.0rc1、2.2.0rc2、2.2.0rc3、2.2.0rc4、2.2.0、2.3.0rc0、2.3.0rc1)” (2认同)

Yee*_*Yee 9

我发现了anaconda的快乐:https://www.continuum.io/downloads

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
Run Code Online (Sandbox Code Playgroud)

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


Gee*_*rtH 7

是否有可能在同一个操作系统上有多个版本的tensorflow?

是的,你可以使用python虚拟环境.来自文档:

虚拟环境是一种工具,通过为它们创建虚拟Python环境,将不同项目所需的依赖关系保存在不同的位置.它解决了"Project X依赖于版本1.x但是,Project Y需要4.x"的困境,并使您的全局站点包目录保持清洁和易于管理.

安装virtualenv(请参阅文档)后,您可以为教程创建虚拟环境并在其中安装所需的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
Run Code Online (Sandbox Code Playgroud)

PATH_TO_PYTHON应指向系统上安装python的位置.当你想使用其他版本的tensorflow执行时:

deactivate my_tutorial_env
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用已安装在系统上的tensorflow版本再次使用.


Omk*_*kar 6

如果您在 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 的匹配分布 (5认同)

Cad*_*oiz 6

注意:您不能安装任意版本的 tensorflow,它们必须与您的 python 安装相对应,这里的大多数答案都没有传达这一点。对于像https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0-cp35-cp35m-win_amd64.whl这样的当前轮子也是如此(来自上面的这个答案)。对于此示例,cp35-cp35m 提示它适用于 Python 3.5.x

可以在 github上找到大量不同的轮子/兼容性列表。通过使用它,您可以结合各自的 for python 降级到几乎所有可用版本。例如:

pip install tensorflow==2.0.0
Run Code Online (Sandbox Code Playgroud)

(请注意,在我的情况下,在安装 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
Run Code Online (Sandbox Code Playgroud)

这也适用于其他不兼容的组合。)

这对于没有 AVX 支持的传统 CPU 或计算能力太低的 GPU 也很有用。


如果您只需要最新版本(在您的问题中听起来不像),则可以在此 tensorflow 页面上找到当前轮子包的 url 列表。那来自这个SO-answer

注意:这个指向不同版本列表链接对我不起作用。