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 9 months ago