-
Notifications
You must be signed in to change notification settings - Fork 2.6k
[CPU] fix CPU FullyConnected Node zeros value output issue #30197
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
base: master
Are you sure you want to change the base?
[CPU] fix CPU FullyConnected Node zeros value output issue #30197
Conversation
Hi, @luweizhou2016 : could you please help review this pr when you are free? thanks. |
7097b71
to
67ed238
Compare
return false; | ||
} | ||
} | ||
|
||
if (current_node->get_input_size() == 0 && !ov::is_type<ov::op::v0::Constant>(current_node)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be a bug on is_on_constant_path(). why not try more general fixing? The RandomUniform() node can't be const folded.
if (current_node->get_input_size() == 0 && !ov::is_type<ov::op::v0::Constant>(current_node)) { | |
if ((current_node->get_input_size() == 0 && !ov::is_type<ov::op::v0::Constant>(current_node)) || | |
current_node->can_constant_fold(current_node->input_values())){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, @luweizhou2016 : do you mean with this changes || !current_node->can_constant_fold(current_node->input_values())
?
but it seems with this kind of changes, we will limit the condition to constant inputs only, while this seems will make current 'constant_path' logic miss some cases, e.g. this specific following kind( the following second 'Eltwise' pattern should be suitable pattern for 'constant_path' logic if none the 'RandomUniform'):
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. seems can_constant_fold() can't propagate to the graph input.
What about " || ov::is_type(ov::op::v8::RandomUniform)", the key is this should be a bug and should be fixed in the is_on_constant_path() internally not by the API user. Once the graph path has the RandomUniform OP, it should return false.
Details:
Tickets: