Фон
Согласно Обслуживание модели TensorFlow ,
Программа в Mnist клиент составляет около
Клиент, который обращается к tenorflow_model_server, загруженному с моделью mnist.
Клиент загружает тестовые образы набора данных mnist, запрашивает у сервиса
такие тестовые изображения, чтобы получить прогнозы и вычисляет частоту ошибок логического вывода.
Проблема
У меня есть некоторые трудности с пониманием параллелизма запросов со стороны клиента по gRP C.
Определить параллелизм
Код, связанный с параллелизмом
for _ in range(num_tests): # <==
request = predict_pb2.PredictRequest()
request.model_spec.name = 'mnist'
request.model_spec.signature_name = 'predict_images'
image, label = test_data_set.next_batch(1)
request.inputs['images'].CopyFrom(
tf.make_tensor_proto(image[0], shape=[1, image[0].size]))
result_counter.throttle() # <==
result_future = stub.Predict.future(request, 5.0) # 5 seconds
result_future.add_done_callback(
_create_rpc_callback(label[0], result_counter))
Исходя из моего понимания, приведенный выше код выполняется последовательно в течение l oop. Я прочитал сообщения об условной переменной, блокировка в Python. Поскольку я даже не вижу нескольких потоков, определенных для отправки запроса, я не думаю, что код связан с параллелизмом, даже если я установил флаг, например, 10. ( Определить параллелизм )
Я могу не заметить gRP C, если у меня возникло какое-то недопонимание.
Если код не является реальным параллелизмом, как его исправить?