-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
[CPU] Deconvolution int8 support #5565
[CPU] Deconvolution int8 support #5565
Conversation
edfcf24
to
e065229
Compare
7f24007
to
f8aa9bb
Compare
a77552c
to
68d504d
Compare
inference-engine/src/mkldnn_plugin/nodes/mkldnn_deconv_node.cpp
Outdated
Show resolved
Hide resolved
inference-engine/src/mkldnn_plugin/nodes/mkldnn_deconv_node.cpp
Outdated
Show resolved
Hide resolved
inference-engine/src/mkldnn_plugin/nodes/mkldnn_deconv_node.cpp
Outdated
Show resolved
Hide resolved
7666d1e
to
10b6265
Compare
@maxnick thanks for your review! |
@@ -37,6 +40,9 @@ bool MKLDNNDeconvolutionNode::isSupportedOperation(const std::shared_ptr<ngraph: | |||
|
|||
MKLDNNDeconvolutionNode::MKLDNNDeconvolutionNode(const std::shared_ptr<ngraph::Node>& op, | |||
const mkldnn::engine& eng, MKLDNNWeightsSharing::Ptr &cache) : MKLDNNNode(op, eng, cache) { | |||
internalBlobDesc.emplace_back([&](primitive_desc_iterator &primitive_desc_it, size_t idx) -> MKLDNNMemoryDesc { |
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.
Shouldn't we create internal desc only in case int8 execution?
InferenceEngine::Blob::Ptr MKLDNNDeconvolutionNode::createWeiBlobAsIO(InferenceEngine::SizeVector dims) { | ||
auto constNode = std::dynamic_pointer_cast<MKLDNNInputNode>(getParentEdgeAt(1)->getParent()); | ||
if (!constNode) | ||
IE_THROW() << "Cannot cast const input node for node " << getName() << "."; |
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.
The plugin will throw an exception in case canBeExecutedInInt8() returns true but we weights input is not const node (for example in case we have reshape on weights branch). I would suggest to update canBeExecutedInInt8() with this condition.
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.
Comments will be resolved in separate PR
Tickets:
PR in oneDNN: openvinotoolkit/oneDNN#50
PR with tests: #5348
Builds: 624, 625
TODO