Am using tensorflow 2.1 on Windows 10. On running
model.add(Conv3D(16, (22, 5, 5), strides=(1, 2, 2), padding='valid',activation='relu',data_format= "channels_first", input_shape=input_shape))
on spyder, I get the this error:
{ AttributeError: module 'tensorflow_core._api.v2.config' has no attribute 'experimental_list_devices' }
How can I solve this error?
I found the answer here - https://github.com/keras-team/keras/issues/13684.
I had the same issue for load_model()
from keras under Anaconda:
AttributeError: module 'tensorflow_core._api.v2.config' has no attribute 'experimental_list_devices'
I found source of problem in
...\anaconda3\envs\tf_env\Lib\site-packages\keras\backend\tensorflow_backend.py
In line 506 I changed line
_LOCAL_DEVICES = tf.config.experimental_list_devices()
to
devices = tf.config.list_logical_devices()
_LOCAL_DEVICES = [x.name for x in devices]
And it works
For jupyter user you can use this:-
import tensorflow as tf
import keras.backend.tensorflow_backend as tfback
print("tf.__version__ is", tf.__version__)
print("tf.keras.__version__ is:", tf.keras.__version__)
def _get_available_gpus():
"""Get a list of available gpu devices (formatted as strings).
# Returns
A list of available GPU devices.
"""
#global _LOCAL_DEVICES
if tfback._LOCAL_DEVICES is None:
devices = tf.config.list_logical_devices()
tfback._LOCAL_DEVICES = [x.name for x in devices]
return [x for x in tfback._LOCAL_DEVICES if 'device:gpu' in x.lower()]
tfback._get_available_gpus = _get_available_gpus
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With