Browse endpoint structure

24 views
Skip to first unread message

ch.sch...@gmail.com

unread,
Mar 20, 2017, 6:41:43 AM3/20/17
to grpc.io
Hey,

I'm evaluating tensorflow serving which uses grpc to provide prediction endpoints to tensorflow clients. I managed to export a tensorflow model to serving and also to compile the protos for the client but I cannot get them to match up, getting the following error:

AbortionError: AbortionError(code=StatusCode.INVALID_ARGUMENT, details="input tensor alias not found in signature: MY_ALIAS")

Is there a way to query a grpc endpoint on what it actually provides, something like an index where the server says, this is what I know and this is what you need to give me?

Thanks!

chris

Nathaniel Manista

unread,
Mar 20, 2017, 11:41:26 AM3/20/17
to ch.sch...@gmail.com, grpc.io
On Mon, Mar 20, 2017 at 3:41 AM, <ch.sch...@gmail.com> wrote:
I'm evaluating tensorflow serving which uses grpc to provide prediction endpoints to tensorflow clients. I managed to export a tensorflow model to serving and also to compile the protos for the client but I cannot get them to match up, getting the following error:

AbortionError: AbortionError(code=StatusCode.INVALID_ARGUMENT, details="input tensor alias not found in signature: MY_ALIAS")

This is a gRPC-level error for an application-level (TensorFlow-level) error; something the TensorFlow folks might want to do is catch this in your client-side code and, by raising a TensorFlow-level exception instead, make it look more TensorFlow-y and less gRPC-y. Then again it may not be worth it, since it's describing a programming mistake and programming mistakes should be fixed rather than made to look pretty.

Is there a way to query a grpc endpoint on what it actually provides, something like an index where the server says, this is what I know and this is what you need to give me?

You're roughly describing server reflection, which is coming, but which may not describe services in sufficient detail to address your problem (it will describe RPCs as requiring requests to be of a certain protocol buffer message type but I don't think it will support saying things like "well this field needs to be only positive integers and this other field must be set if this third field is unset"). I think the error you're seeing is server-side TensorFlow code telling you that you've made a TensorFlow-level mistake and trying to describe the mistake to you (although the status details string it's giving you is pretty short).
-Nathaniel
Reply all
Reply to author
Forward
0 new messages