如何使用conda安装CPU版本的tensorflow

9
如果我运行conda install tensorflow,conda会想要安装GPU版本,连同CUDA等。我没有Nvidia GPU,所以我想要安装仅支持CPU的版本。
$ conda install tensorflow
Solving environment: done

## Package Plan ##

  environment location: /home/cjk/.conda/envs/athion-forecaster

  added / updated specs: 
    - tensorflow


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    tensorflow-base-1.12.0     |gpu_py36had579c0_0       216.9 MB
    tensorflow-1.12.0          |gpu_py36he74679b_0           3 KB
    _tflow_select-2.1.0        |              gpu           2 KB
    tensorboard-1.12.0         |   py36hf484d3e_0         3.1 MB
    ------------------------------------------------------------
                                           Total:       220.1 MB

The following NEW packages will be INSTALLED:

    _tflow_select:       2.1.0-gpu                
    cudatoolkit:         9.2-0                    
    cudnn:               7.2.1-cuda9.2_0          
    cupti:               9.2.148-0                
    keras-applications:  1.0.6-py36_0             
    keras-preprocessing: 1.0.5-py36_0             
    tensorboard:         1.12.0-py36hf484d3e_0    
    tensorflow:          1.12.0-gpu_py36he74679b_0
    tensorflow-base:     1.12.0-gpu_py36had579c0_0

Proceed ([y]/n)?

运行conda search tensorflow可以看到最新版本的tensorflow有CPU包(实际上有两种类型:eigenmkl):

conda search tensorflow
...
tensorflow               1.12.0 eigen_py27hfe19c55_0  pkgs/main           
tensorflow               1.12.0 eigen_py36hbd5f568_0  pkgs/main           
tensorflow               1.12.0 gpu_py27h2a0f108_0  pkgs/main           
tensorflow               1.12.0 gpu_py27h956c076_0  pkgs/main           
tensorflow               1.12.0 gpu_py36he68c306_0  pkgs/main           
tensorflow               1.12.0 gpu_py36he74679b_0  pkgs/main           
tensorflow               1.12.0 mkl_py27hc55d17a_0  pkgs/main           
tensorflow               1.12.0 mkl_py36h69b6ba0_0  pkgs/main

我该如何告诉conda安装MKL版本?

我尝试使用conda install tensorflow[mkl],但结果与没有[mkl]时相同。使用conda install tensorflow=mkl会出现PackagesNotFoundError错误。

3个回答

14
我找到了它:conda install 'tensorflow=*=mkl*'

2
我认为星号是通配符 - 就像在 grep 中一样。第一个 = 后面的值是版本,因此 * 表示“任何版本”,第二个 = 后面的文本是某种构建 ID - 在上面的 conda search tensorflow 输出中,这是以 eigen_gpu_mkl_ 开头的文本。 - user7813790
1
是的,虽然可以获得MKL变体,但Anaconda团队现在提供了特定于变体的元包,如tensorflow-mkltensorflow-eigentensorflow-gpu来实现这一点。我建议采用元包策略,因为在幕后使用的选择器可能对限制不仅仅是tensorflow构建很重要。 - merv
根据我的经验,tensorflow-gpu 包无法识别我的 GPU,而指定 tensorflow 包的 gpu 构建则可以。不确定原因。 - endolith
@endolith 这里没有提到的另一个部分是安装正确的 cudatoolkit - 即安装不兼容的版本也会导致 GPU 问题。 - merv
当您安装 tensorflow 的 GPU 版本时,@merv conda 会自动安装正确的 CUDA 工具。 - endolith

4

conda install tensorflow-mkl 对我有用,带星号的版本不行。


1
在Windows 10中,使用conda install tensorflow==1.14.0=mkl*对我有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接