Tensorflow не смог открыть библиотеку CUDA libcupti.so.8.0 во время обучения в облаке Google

Я пытаюсь обучить модель с помощью Tensorflow на движке Google Cloud ml. Похоже, что tensorflow не может получить доступ к файлам libcupti на облачной вычислительной машине из-за того, что LD_LIBRARY_PATH не указывает на правильный каталог, как следует из записи журнала ниже:

lineno: 126    
  message: "Couldn't open CUDA library libcupti.so.8.0.
            LD_LIBRARY_PATH: /usr/local/cuda/lib64"    
levelname: "INFO"    
pathname: "tensorflow/stream_executor/dso_loader.cc"    
created: 1491143889.84344   

Насколько мне известно, все файлы libcupti находятся в /usr/local/cuda/extras/CUPTI/lib64, поэтому мне нужно будет добавить это к переменной LD_LIBRARY_PATH, но как мне это сделать при отправке задания с помощью команды gcloud ml-engine jobs submit training $JOB_NAME? Или может есть более простое решение?


person electroducer    schedule 02.04.2017    source источник
comment
Будет ли эта ошибка вызываться для всех заданий обучения GPU? Можете ли вы выполнять какие-либо учебные задания на графических процессорах с помощью Google Cloud?   -  person Yao Zhang    schedule 04.04.2017
comment
У меня еще не было времени, чтобы попробовать другой тип работы... Я попробую это, если у меня будет шанс.   -  person electroducer    schedule 04.04.2017


Ответы (1)


Я пытался использовать GPU с тензорным потоком в облаке Google, и у меня это работает. В моем коде я не делал никаких конкретных настроек GPU (и ничего не устанавливал с помощью LD_LIBRARY_PATH)

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

Попробуйте добавить файл, например cloudml-gpu.yaml, в свой модуль со следующим содержимым:

trainingInput:
  scaleTier: CUSTOM
  # standard_gpu provides 1 GPU. Change to complex_model_m_gpu for 4 
GPUs
  masterType: standard_gpu
  runtimeVersion: "1.0"

Затем добавьте параметр с именем --config=trainer/cloudml-gpu.yaml (предположим, что ваш учебный модуль находится в папке с именем trainer). Например:

export BUCKET_NAME=tf-learn-simple-sentiment
export JOB_NAME="example_5_train_$(date +%Y%m%d_%H%M%S)"
export JOB_DIR=gs://$BUCKET_NAME/$JOB_NAME
export REGION=europe-west1

gcloud ml-engine jobs submit training $JOB_NAME \
  --job-dir gs://$BUCKET_NAME/$JOB_NAME \
  --runtime-version 1.0 \
  --module-name trainer.example5-keras \
  --package-path ./trainer \
  --region $REGION \
  --config=trainer/cloudml-gpu.yaml \
  -- \
  --train-file gs://tf-learn-simple-sentiment/sentiment_set.pickle
person Fuyang Liu    schedule 06.04.2017