EdgeClient.inferences.block_until_complete
Blocks inference until results moves to the final state and are available.
EdgeClient.inferences.block_until_complete(inference_identifier, poll_interval=0.01, timeout=30)
This method blocks the execution until the result of an inference is marked as finished or it reaches the timeout seconds (if it is different than None). It refreshes the result information for each poll_interval seconds.
Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
inference_identifier | str | Inference identifier | '14856eb1-0ad8-49e7-9da3-887acb80fea5' |
poll_interval | int | Time interval in seconds between polls. Defaults to 0.01. | 10 |
timeout | int | Seconds amount to wait until timeout. None indicates waiting forever. Defaults to 30. | 100 |
Returns
A Inference object returned from Inference API
Examples
# submit inferences
img_folder = "./images"
inferences = []
for img in os.listdir(img_folder):
input_object = InputSource(
key="image", # input filename defined by model author
data=open(os.path.join(img_folder, img), 'rb').read()
)
with EdgeClient('localhost', 55000) as client:
inference = client.inferences.perform_inference("<model-id>", "<model-version>", input_object, explain=False, tags=None)
inferences.append(inference)
# query results
with EdgeClient('localhost', 55000) as client:
results = [client.inferences.block_until_complete(inference.identifier) for inferences in inferences]
Updated 3 months ago
