Tensorflow 2 не работает на GPU

Я работаю с tensorflow-gpu версии 2.0.0 и я установил драйвер gpu и CUDA и cuDNN ( CUDA version 10.1.243_426 и cuDNN v7.6.5.32 и я использую windows!)

Когда я компилирую свою модель или запускаю:

from tensorflow.python.client import device_lib 
print(device_lib.list_local_devices())

Он распечатает:

2020-01-12 19:56:50.961755: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2020-01-12 19:56:50.974003: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2020-01-12 19:56:51.628299: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
name: GeForce MX150 major: 6 minor: 1 memoryClockRate(GHz): 1.5315
pciBusID: 0000:01:00.0
2020-01-12 19:56:51.636256: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2020-01-12 19:56:51.642106: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
2020-01-12 19:56:52.386608: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-01-12 19:56:52.393162: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0
2020-01-12 19:56:52.396516: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N
2020-01-12 19:56:52.400632: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/device:GPU:0 with 1356 MB memory) -> physical GPU (device: 0, na
me: GeForce MX150, pci bus id: 0000:01:00.0, compute capability: 6.1)
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 1008745203605650029
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 1422723891
locality {
  bus_id: 1
  links {
  }
}
incarnation: 18036547379173389852
physical_device_desc: "device: 0, name: GeForce MX150, pci bus id: 0000:01:00.0, compute capability: 6.1"
]

Который говорит, что Tensorflow наверняка будет использовать устройство GPU! Но когда я запускаю свою модель, я вижу, что gpu ничего не делает!

диспетчер задач windows

Однако вы можете видеть, что часть памяти gpu используется, и даже я вижу активность gpu, которая является моей программой !!

деятельность GPU

В чем дело?! Я делаю что-то неправильно?! Я много искал и проверял много вопросов в SO, но никто не задавал такой вопрос!

Всего 1 ответ


Взято из официальной документации TensorFlow.

 import tensorflow as tf 
    tf.debugging.set_log_device_placement(True)

    # Create some tensors
    a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
    b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
    c = tf.matmul(a, b)

    print(c)

Если вы запустите приведенный выше код (который должен работать на вашем GPU, если ваш GPU виден TensorFlow), тогда ваше обучение будет проходить на TensorFlow.

Вы должны увидеть такой вывод:

Выполнение op MatMul в устройстве / задании: localhost / replica: 0 / task: 0 / device: GPU: 0 tf.Tensor ([[22. 28.] [49. 64.]], shape = (2, 2), DTYPE = float32)

Кроме того, вы можете видеть, что у вас всплеск использования выделенной памяти графического процессора в диспетчере задач -> кажется, что ваш графический процессор используется, но для уверенности запустите приведенный выше код.


Есть идеи?

10000