ML Engine Batch Prediction работает на неправильной версии Python - PullRequest
0 голосов
/ 27 февраля 2019

enter image description here

Итак, у меня есть модель тензорного потока в Python 3.5, зарегистрированная на движке ML, и я хочу запустить задание пакетного прогнозирования, используя его.Тело моего запроса API выглядит следующим образом:

{
  "versionName": "XXXXX/v8_0QSZ",
  "dataFormat": "JSON",
  "inputPaths": [
    "XXXXX"
  ],
  "outputPath": "XXXXXX",
  "region": "us-east1",
  "runtimeVersion": "1.12",
  "accelerator": {
    "count": "1",
    "type": "NVIDIA_TESLA_P100"
  }
}

Затем задание пакетного прогнозирования запускается и возвращает «Задание успешно выполнено», однако оно было полностью неудачным и последовательно выдавало следующую ошибку для каждого ввода:

Exception during running the graph: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[node convolution_layer/conv1d/conv1d/Conv2D (defined at /usr/local/lib/python2.7/dist-packages/google/cloud/ml/prediction/frameworks/tf_prediction_lib.py:210) = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](convolution_layer/conv1d/conv1d/Conv2D-0-TransposeNHWCToNCHW-LayoutOptimizer, convolution_layer/conv1d/conv1d/ExpandDims_1)]] [[{{node Cast_6/_495}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_789_Cast_6", tensor_type=DT_INT64, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]] 

Мои вопросы:

  • Почему пакетное задание сообщает об успехе, когда в действительности оно полностью провалилось?
  • В приведенном выше исключении упоминается Python 2.7 ...тем не менее, модель зарегистрирована как python 3.5, и нет возможности указать версию python с помощью API.Почему пакетное прогнозирование с использованием 2.7?
  • Что вообще я могу сделать, чтобы эта работа работала?
  • Это имеет какое-либо отношение к моему варианту ускорителя?

1 Ответ

0 голосов
/ 28 мая 2019

Ответ разработчика пакетного прогнозирования: «Мы пока официально не поддерживаем Python 3. Однако проблема, с которой вы сталкиваетесь, - это известная ошибка, влияющая на время работы нашего GPU для TF 1.11 и 1.12

...