Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for signature names instead of tensor names #203

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

CarlPoirier
Copy link
Contributor

Hi folks,

So I wanted to use cppflow for models with multiple outputs that I can differentiate only by their names instead of the tensor names which are all "StatefulPartitionedCall:index". The way I proceed is quite ugly, but that's what I was able to come up with in a short amount of time. I'm opening a pull request because I'd like to gather comments.

For example, this is the output of saved_model_cli.exe :
image
You would call model::get_tensor_mapping("detection_scores") and it would return "StatefulPartitionedCall:4". Then, you could use this as usual to get the detection scores.

The mapping is present in the metagraph which is extracted with the tensorflow C API, but not parsed. AFAIK, the latter just does not have the functionality to do so, so adding it in cppflow is somewhat sloppy. I'm searching for the raw bytes to extract it.

@serizba
Copy link
Owner

serizba commented Sep 20, 2022

Hi @CarlPoirier

This is definitely interesting, since the beginning of cppflow I've been bothered with the StatefulParitionedCall names.

So, if I understood correctly, you are parsing the protobuf MetaGraphDef to obtaining the correspondences between names and tensor names. As from the code is a bit difficult to tell how you are doing the parsing, could you elaborate a bit more on what are you trying to find?

I think directly parsing the MetaGraphDef as a string is not optimal, and may be a problem if the protocols change. Do you know any alternative to this? I've read the C API but I did not found any function providing information about MetaGraphDef. Maybe opening an issue on the TensorFlow repo we may obtain some info on how to proceed with this.

Thanks for your work!

@CarlPoirier
Copy link
Contributor Author

I opened an issue on the TF repo. We'll see!

@serizba
Copy link
Owner

serizba commented Sep 23, 2022

Thanks, let's see what they say

@serizba serizba changed the title Add functionality for using output names instead of tensor names Support for signature names instead of tensor names Sep 23, 2022
@serizba serizba added feature-request Request for a new feature contributor-wanted Good issue for a contributor labels Sep 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributor-wanted Good issue for a contributor feature-request Request for a new feature
Projects
Status: Feature Request
Development

Successfully merging this pull request may close these issues.

None yet

2 participants