如果我运行
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包(实际上有两种类型:eigen
和mkl
):
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
错误。
grep
中一样。第一个=
后面的值是版本,因此*
表示“任何版本”,第二个=
后面的文本是某种构建 ID - 在上面的conda search tensorflow
输出中,这是以eigen_
、gpu_
或mkl_
开头的文本。 - user7813790tensorflow-mkl
、tensorflow-eigen
和tensorflow-gpu
来实现这一点。我建议采用元包策略,因为在幕后使用的选择器可能对限制不仅仅是tensorflow
构建很重要。 - mervtensorflow-gpu
包无法识别我的 GPU,而指定tensorflow
包的 gpu 构建则可以。不确定原因。 - endolithcudatoolkit
- 即安装不兼容的版本也会导致 GPU 问题。 - mervtensorflow
的 GPU 版本时,@merv conda 会自动安装正确的 CUDA 工具。 - endolith