我正在创建一个仅供使用tensorflow-gpu
频道中的conda-forge
软件包的conda环境
conda create -n tst -c conda-forge tensorflow-gpu
这将同时安装tensorflow-gpu
和 tensorflow
软件包:
The following NEW packages will be INSTALLED:
_tflow_1100_select: 0.0.1-gpu
...
tensorboard: 1.10.0-py36_0 conda-forge
tensorflow: 1.10.0-py36_0 conda-forge
tensorflow-gpu: 1.10.0-hf154084_0
...
然后,当我导入tensorflow时,它看不到GPU:
>>> import tensorflow as tf
>>> tf.test.is_gpu_available()
2018-09-20 15:29:21.778708: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
False
问题:
tensorflow-gpu
和tensorflow
软件包?conda create -n tst tensorflow-gpu
安装时一切正常? (我没有根据的猜测是,在conda-forge
中,tensorflow-gpu
软件包实际上来自主渠道,因此在导入期间的优先级较低。)答案 0 :(得分:0)
通过查看conda-forge(https://conda-forge.org/feedstocks/)上的软件包列表,可以发现那里没有tensorflow-gpu软件包。在conda-forge和默认的anaconda软件包之间存在一些奇怪的兼容性问题-我通常会尽量避免两者混淆。
即使您以conda install -c anaconda tensorflow-gpu
的身份安装,它也会同时插入非GPU tensorflow程序包,但仍在运行
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
找到GPU。因此,它似乎会自动使用支持GPU的版本。如果我想避免使用GPU,则可以使用with tf.device([CPU ID here])
来包装我的培训。