在错误的python版本上运行的ML引擎批量预测

And*_*idy 5 python google-cloud-platform tensorflow google-cloud-ml

在此处输入图片说明

所以我在ML 3.5中向ML引擎注册了一个tensorflow模型,我想使用它运行批处理预测作业。我的API请求正文如下所示:

{
  "versionName": "XXXXX/v8_0QSZ",
  "dataFormat": "JSON",
  "inputPaths": [
    "XXXXX"
  ],
  "outputPath": "XXXXXX",
  "region": "us-east1",
  "runtimeVersion": "1.12",
  "accelerator": {
    "count": "1",
    "type": "NVIDIA_TESLA_P100"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,批处理预测作业运行并返回“作业成功完成。”,但是,它是完全不成功的,并且始终对每个输入引发以下错误:

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"]()]] 
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 为什么批处理作业报告成功却实际上完全失败了?
  • 在上面的例外中,它提到了python 2.7 ...但是该模型已注册为python 3.5,并且无法使用API​​指定python版本。为什么批量预测使用2.7?
  • 一般来说,我可以做些什么来完成这项工作?
  • 这和我的加速器选项有关系吗?

And*_*idy 1

批量预测开发人员的回复:“我们尚未正式支持 Python 3。但是,您遇到的问题是一个已知错误,会影响 TF 1.11 和 1.12 的 GPU 运行时