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

Ignoring unsupported operators in unused part of computation graph #63

Open
msakai opened this issue Aug 6, 2018 · 4 comments
Open
Labels
enhancement New feature or request

Comments

@msakai
Copy link
Member

msakai commented Aug 6, 2018

I tried to run super resolution example of MXNet.

The model contains unsupported operator Transpose so I decided to specify the variable just before the Transpose (i.e. variable "25") as output. But Menoh still reports menoh_error_code_unsupported_operator error ("menoh unsupported operator error: Transpose") when I construct a variable profile table.

It would be nice if Menoh ignores unsupported operators in unused part of computation graph.

@msakai msakai added the enhancement New feature or request label Aug 31, 2018
@okdshin
Copy link
Contributor

okdshin commented Sep 28, 2018

To determine which nodes ares useless, menoh has to know which outputs are needed.
Construction of variable_profile_table reqires all nodes are known to menoh. So we can't add ignoring feature menoh_model_data_optimize().
How about to add new api like menoh_model_data_reduce_useless_node() which takes model_data and vpt_builder?
model_data has graph and vpt_builder has inputs' profiles and required outputs' names

@okdshin
Copy link
Contributor

okdshin commented Sep 28, 2018

Or we can simply add reducing feature in menoh_build_variable_profile_table.

@msakai
Copy link
Member Author

msakai commented Oct 4, 2018

Construction of variable_profile_table reqires all nodes are known to menoh.

It is a restriction of current implementation, but I think the restriction is not essential.

menoh_build_variable_profile_table can compute information only for nodes that are input nodes (specified menoh_variable_profile_table_builder_add_input_profile) or nodes that are reachable (by output-to-input relation) from output nodes (specified by menoh_variable_profile_table_builder_add_output_name).

Is that correct?

@okdshin
Copy link
Contributor

okdshin commented Oct 4, 2018

It is correct. Sorry,

Construction of variable_profile_table reqires all nodes are known to menoh.

is incorrect.
So we can add ignoring-if-possible feature into menoh_build_variable_profle_table().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants