как включить отображение графического процессора для среды выполнения ML на блоках данных? - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь запустить пример кода TensorFlow (2.2) на databricks / GPU (p2.xlarge) со средой как:

6.6 ML, spark 2.4.5, GPU, Scala 2.11  
Keras version : 2.2.5

nvidia-smi
NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2         

Я проверил https://docs.databricks.com/applications/deep-learning/single-node-training/tensorflow.html#install -tensorflow-22 -on-databricks-runtime-66-ml & language-GPU

Но я не хочу запускать команды оболочки каждый раз при перезапуске кластеров графических процессоров Databricks.

итак, я установленный TensorFlow из пользовательского интерфейса библиотек данных

  tensorflow==2.2.*

Я не указываю, что это для GPU или CPU. Я предполагаю, что по умолчанию он предназначен для графического процессора.

Я обнаружил, что код python3 выполняется только на процессорах, а не на графическом процессоре.

  import tensorflow as tf

  physical_devices = tf.config.list_physical_devices()
  physical_devices : [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:XLA_CPU:0', device_type='XLA_CPU'), PhysicalDevice(name='/physical_device:XLA_GPU:0', device_type='XLA_GPU')]


  visible_devices = tf.config.get_visible_devices()

  visible devices: [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU')]

  tf.test.gpu_device_name() # return empty string


  is_built_with_cuda: True
  is_built_with_gpu_support: True
  is_built_with_rocm: False
  is_built_with_xla: True
  get_soft_device_placement : True

Я пытаюсь установить 'XLA_GPU 'видимые для среды выполнения ML:

# https://www.tensorflow.org/api_docs/python/tf/config/set_visible_devices
# set GPU visible for TF runtime
physical_devices = tf.config.list_physical_devices('XLA_GPU')
try:
    # enable first GPU
    tf.config.set_visible_devices(physical_devices[0], 'XLA_GPU') # exception here !!!
    logical_devices = tf.config.list_logical_devices('XLA_CPU')
    # Logical device was created for first GPU
    assert len(logical_devices) == len(physical_devices) 
except:
    # Invalid device or cannot modify virtual devices once initialized.
    print('Invalid device or cannot modify virtual devices once initialized.')

Но у меня есть исключение.

Как включить графический процессор, чтобы код TF мог работать на нем?

спасибо

1 Ответ

0 голосов
/ 21 июня 2020

Установите tensorflow-gpu вместо tenorflow, так как он будет работать в основном на графическом процессоре, а тензорный поток будет запускаться в основном на процессоре. Вам не нужно редактировать код, поскольку он по-прежнему импортируется под псевдонимом tensorflow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...