SetInputTensorShapes must be called prior to this call. This function will block the calling thread until the inference is complete. The caller owns the memory inside the bindings and must make sure that they are big enough. Clients can call this function from an async task but must make sure the memory remains valid throughout the evaluation.