Есть несколько способов проверить наличие графического процессора в Tensorflow 2.x. По сути, если GPU доступен, то модель будет работать на нем (если он не занят, например, другим экземпляром TF, который его заблокировал). Размещение также будет видно в файлах журналов и может быть подтверждено, например, nvidia-smi
.
. В приведенном ниже коде я предполагаю, что tensorflow
импортируется как tf
(в соответствии с соглашением и вашим кодом) .
Для проверки доступных устройств выполните: ', device_type =' CPU '), PhysicalDevice (name =' / Physical_device: XLA_CPU: 0 ', device_type =' XLA_CPU '), PhysicalDevice (name =' / Physical_device: GPU: 0 ', device_type =' GPU '), PhysicalDevice (name = '/ Physical_Device: XLA_GPU: 0', device_type = 'XLA_GPU')] * Чтобы проверить, есть ли в системе графический процессор: is_gpu = len(tf.config.experimental.list_physical_devices('GPU')) > 0
Из Tensorflow 2.1 эта функциональность была перенесена из экспериментальной, и вы можете использовать: tf.config.list_physical_devices()
таким же образом, то есть is_gpu = len(tf.config.list_physical_devices('GPU')) > 0
В какой-то момент экспериментальная часть устареет. И последнее, но не менее важное: если ваш тензор потока был построен без CUDA (это не-GPU версия), list_physical_devices('GPU')
также повторит urn False
, даже если ваша физическая система имеет графический процессор. «Это автоматически c, если GPU распознается TF?»
Да. Цитировать после TF docs :
Примечание: Используйте tf.config.experimental.list_physical_devices ('GPU'), чтобы подтвердить, что TensorFlow использует GPU.
Если он будет распознан, он будет использоваться во время обучения. Если вы хотите быть абсолютно уверены, вы можете запросить более явное ведение журнала:
tf.debugging.set_log_device_placement(True)