Прогнозировать значение одиночного изображения после тренировки модели на ТПУ - PullRequest
0 голосов
/ 18 сентября 2018

Я все еще хочу знать, как я могу предсказать ценность изображения после обучения сети, но кажется, что это еще не поддерживается.Любая идея для обходного пути (взято из mnist_tpu.py)?

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

Помимо Stackoverflow - где-нибудь еще я могу получить поддержку для реализации моих моделей с использованием TPU?

Ответы [ 3 ]

0 голосов
/ 19 сентября 2018

Вот программа на 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

В этой статье описывается процесс написания модели облачного TPU: https://medium.com/tensorflow/how-to-write-a-custom-estimator-model-for-the-cloud-tpu-7d8bd9068c26

0 голосов
/ 01 октября 2018

Поддерживается сейчас. Изменения были внесены в https://github.com/tensorflow/models/blob/master/official/mnist/mnist_tpu.py, чтобы заставить его работать.

Помимо stackoverflow, вы можете добавить свои проблемы на github https://github.com/tensorflow/tpu/issues.

0 голосов
/ 18 сентября 2018

Согласно документации , вы можете выбрать онлайн или пакетные режимы для прогнозирования, но вы не можете выбрать целевое устройство.Как уже говорилось, «служба прогнозирования выделяет ресурсы для выполнения вашей работы».

В документации говорится, что прогнозирование выполняется узлами.Я думал, что где-то читал, что узлы предсказания всегда являются центральными процессорами в Google Compute Engine, но я не могу найти четкую ссылку.

...