当我运行代码时,我试图使用张量流作为后端,并执行以下操作:
import tensorflow
KERAS_BACKEND=tensorflow
import keras
from keras import backend as K
K.tensorflow_backend._get_available_gpus()
我得到以下错误:
K.tensorflow_backend._get_available_gpus()
AttributeError: module 'keras.backend' has no attribute 'tensorflow_backend'
然而,当我在Jupyter笔记本上运行同一段代码时,它会起作用,并给我以下输出:
['/job:localhost/replica:0/task:0/device:GPU:0']
这个输出意味着tensowflow已经安装。我不明白为什么当我通过终端运行相同的脚本时会出现上面提到的错误。在这两种情况下,我都处于相同的环境中。如有真知灼见,不胜感激。
从您试图理解的代码中,Tensorflow是否已安装并使用GPU?
在Tensorflow 2.x中,可以通过以下方式知道
tf.config.list_physical_devices('GPU')
输出:
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
以下内容还将返回GPU设备的名称。
import tensorflow as tf
tf.test.gpu_device_name()
如果安装了包的non-GPU
版本,则函数也将返回False
。使用tf.test.is_built_with_cuda
验证TensorFlow是否使用CUDA支持构建。
注意:从TF 2.0开始,Keras
与Tensorflow
集成为tf.keras
,请使用此模块tf.keras.backend