2

我仍然想知道如何在训练网络后预测图像的价值,但似乎还不支持。任何解决方法的想法(取自 mnist_tpu.py)?

  if mode == tf.estimator.ModeKeys.PREDICT:
    raise RuntimeError("mode {} is not supported yet".format(mode))

除了 Stackoverflow - 我还能在其他任何地方获得使用 TPU 实现模型的支持吗?

4

3 回答 3

2

这是一个 Python 程序,它将图像发送到 TPU 训练的模型(在本例中为 ResNet)并返回分类:

with tf.gfile.FastGFile('/some/path.jpg', 'r') as ifp:
    credentials = GoogleCredentials.get_application_default()
    api = discovery.build('ml', 'v1', credentials=credentials,
               discoveryServiceUrl='https://storage.googleapis.com/cloud-ml/discovery/ml_v1_discovery.json')

    request_data = {'instances':
      [
         {"image_bytes": {"b64": base64.b64encode(ifp.read())}}
      ]
    }
    parent = 'projects/%s/models/%s/versions/%s' % (PROJECT, MODEL, VERSION)
    response = api.projects().predict(body=request_data, name=parent).execute()
    print("response={0}".format(response))

完整代码在这里:https ://github.com/GoogleCloudPlatform/training-data-analyst/blob/master/quests/tpu/flowers_resnet.ipynb

本文记录了为 Cloud TPU 编写模型的过程:https ://medium.com/tensorflow/how-to-write-a-custom-estimator-model-for-the-cloud-tpu-7d8bd9068c26

于 2018-09-19T00:29:39.747 回答
1

现在支持。已对https://github.com/tensorflow/models/blob/master/official/mnist/mnist_tpu.py进行了更改以使其正常工作。

除了 stackoverflow,您还可以在 github https://github.com/tensorflow/tpu/issues上添加您的问题。

于 2018-10-01T19:49:48.567 回答
0

根据文档,您可以选择在线或批量模式进行预测,但不能选择目标设备。如前所述,“预测服务分配资源来运行您的工作。”

文档说预测是由节点执行的。我以为我在某处读到预测节点始终是 Google Compute Engine 中的 CPU,但我找不到明确的参考。

于 2018-09-18T08:30:43.557 回答