[CPU] Fix QueryNetwork for ReferenceNode (#5809)
* has_evaluate() was added
This commit is contained in:
parent
04f42d8442
commit
9424272cce
@ -15,6 +15,9 @@ using namespace InferenceEngine::details;
|
|||||||
MKLDNNReferenceNode::MKLDNNReferenceNode(const std::shared_ptr<ngraph::Node>& op, const mkldnn::engine& eng, MKLDNNWeightsSharing::Ptr &cache,
|
MKLDNNReferenceNode::MKLDNNReferenceNode(const std::shared_ptr<ngraph::Node>& op, const mkldnn::engine& eng, MKLDNNWeightsSharing::Ptr &cache,
|
||||||
const std::string& errorMessage) :
|
const std::string& errorMessage) :
|
||||||
MKLDNNNode(op, eng, cache), ngraphOp(op), additionalErrorMessage(errorMessage) {
|
MKLDNNNode(op, eng, cache), ngraphOp(op), additionalErrorMessage(errorMessage) {
|
||||||
|
if (!op->has_evaluate()) {
|
||||||
|
IE_THROW(NotImplemented) << "Cannot fallback on ngraph reference implementation (Ngraph::Node::evaluate() is not implemented)";
|
||||||
|
}
|
||||||
setType(Reference);
|
setType(Reference);
|
||||||
setTypeStr("Reference");
|
setTypeStr("Reference");
|
||||||
}
|
}
|
||||||
@ -69,14 +72,7 @@ void MKLDNNReferenceNode::execute(mkldnn::stream strm) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!ngraphOp->evaluate(outputs, inputs)) {
|
if (!ngraphOp->evaluate(outputs, inputs)) {
|
||||||
std::string errorDetails = "Unsupported operation of type: " + std::string(ngraphOp->get_type_name()) +
|
IE_THROW() << "Evaluation failed on node of type: " << std::string(ngraphOp->get_type_name()) << " name: " << getName();
|
||||||
" name: " + std::string(ngraphOp->get_friendly_name());
|
|
||||||
errorDetails += "\nDetails: \n";
|
|
||||||
if (!additionalErrorMessage.empty()) {
|
|
||||||
errorDetails += additionalErrorMessage + "\n";
|
|
||||||
}
|
|
||||||
errorDetails += "Cannot fallback on ngraph reference implementation (Ngraph::Node::evaluate() is not implemented)";
|
|
||||||
IE_THROW(NotImplemented) << errorDetails;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Abs;
|
using v0::Abs;
|
||||||
|
@ -36,6 +36,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Acos;
|
using v0::Acos;
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v3
|
} // namespace v3
|
||||||
using v3::Acosh;
|
using v3::Acosh;
|
||||||
|
@ -51,6 +51,7 @@ namespace ngraph
|
|||||||
size_t get_version() const override { return 1; }
|
size_t get_version() const override { return 1; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -43,6 +43,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override;
|
bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Asin;
|
using v0::Asin;
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v3
|
} // namespace v3
|
||||||
using v3::Asinh;
|
using v3::Asinh;
|
||||||
|
@ -84,6 +84,7 @@ namespace ngraph
|
|||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs,
|
const HostTensorVector& inputs,
|
||||||
const EvaluationContext& evaluation_context) const override;
|
const EvaluationContext& evaluation_context) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
const OutputVector& inputs_values) override;
|
const OutputVector& inputs_values) override;
|
||||||
};
|
};
|
||||||
|
@ -38,6 +38,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Atan;
|
using v0::Atan;
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
bool visit_attributes(AttributeVisitor& visitor) override { return true; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v3
|
} // namespace v3
|
||||||
using v3::Atanh;
|
using v3::Atanh;
|
||||||
|
@ -44,6 +44,7 @@ namespace ngraph
|
|||||||
const Output<Node>& crops_end);
|
const Output<Node>& crops_end);
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
void validate_and_infer_types() override;
|
void validate_and_infer_types() override;
|
||||||
std::shared_ptr<Node>
|
std::shared_ptr<Node>
|
||||||
|
@ -70,6 +70,7 @@ namespace ngraph
|
|||||||
std::pair<bool, AxisSet> get_broadcast_axes() const override;
|
std::pair<bool, AxisSet> get_broadcast_axes() const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool broadcast_evaluate(const HostTensorVector& outputs,
|
bool broadcast_evaluate(const HostTensorVector& outputs,
|
||||||
@ -132,6 +133,7 @@ namespace ngraph
|
|||||||
void validate_and_infer_types() override;
|
void validate_and_infer_types() override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
AutoBroadcastSpec m_broadcast_spec;
|
AutoBroadcastSpec m_broadcast_spec;
|
||||||
|
@ -30,6 +30,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Ceiling;
|
using v0::Ceiling;
|
||||||
|
@ -42,6 +42,7 @@ namespace ngraph
|
|||||||
double get_max() const { return m_max; }
|
double get_max() const { return m_max; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double m_min;
|
double m_min;
|
||||||
|
@ -51,6 +51,7 @@ namespace ngraph
|
|||||||
void set_axis(int64_t axis) { m_axis = axis; }
|
void set_axis(int64_t axis) { m_axis = axis; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
||||||
|
|
||||||
|
@ -171,6 +171,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Cos;
|
using v0::Cos;
|
||||||
|
@ -30,6 +30,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Cosh;
|
using v0::Cosh;
|
||||||
|
@ -60,6 +60,7 @@ namespace ngraph
|
|||||||
void validate_and_infer_types() override;
|
void validate_and_infer_types() override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::size_t m_blocksize;
|
std::size_t m_blocksize;
|
||||||
|
@ -53,6 +53,7 @@ namespace ngraph
|
|||||||
size_t get_version() const override { return 1; }
|
size_t get_version() const override { return 1; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_pythondiv{true};
|
bool m_pythondiv{true};
|
||||||
|
@ -54,6 +54,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -25,6 +25,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Erf;
|
using v0::Erf;
|
||||||
|
@ -31,6 +31,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Exp;
|
using v0::Exp;
|
||||||
|
@ -29,6 +29,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Floor;
|
using v0::Floor;
|
||||||
|
@ -44,6 +44,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override;
|
bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
|
|
||||||
|
@ -74,6 +74,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
std::shared_ptr<Node>
|
std::shared_ptr<Node>
|
||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
|
@ -36,6 +36,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -35,6 +35,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v5
|
} // namespace v5
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -35,6 +35,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v4
|
} // namespace v4
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -216,6 +216,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
const InterpolateAttrs& get_attrs() const { return m_attrs; }
|
const InterpolateAttrs& get_attrs() const { return m_attrs; }
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -30,6 +30,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Log;
|
using v0::Log;
|
||||||
|
@ -72,6 +72,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Loop(const Loop&);
|
Loop(const Loop&);
|
||||||
|
@ -38,6 +38,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
bool get_transpose_a() const { return m_transpose_a; }
|
bool get_transpose_a() const { return m_transpose_a; }
|
||||||
bool get_transpose_b() const { return m_transpose_b; }
|
bool get_transpose_b() const { return m_transpose_b; }
|
||||||
|
@ -33,6 +33,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -73,6 +73,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Shape m_kernel;
|
Shape m_kernel;
|
||||||
|
@ -39,6 +39,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -33,6 +33,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
};
|
};
|
||||||
|
@ -34,6 +34,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v4
|
} // namespace v4
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -39,6 +39,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -30,6 +30,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Negative;
|
using v0::Negative;
|
||||||
|
@ -60,6 +60,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
element::Type m_output_type = element::i64;
|
element::Type m_output_type = element::i64;
|
||||||
|
@ -31,6 +31,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool visit_attributes(AttributeVisitor& visitor) override;
|
bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
|
@ -42,6 +42,7 @@ namespace ngraph
|
|||||||
|
|
||||||
virtual bool evaluate(const HostTensorVector& output_values,
|
virtual bool evaluate(const HostTensorVector& output_values,
|
||||||
const HostTensorVector& input_values) const override;
|
const HostTensorVector& input_values) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
/// \return The index of the one-hot axis.
|
/// \return The index of the one-hot axis.
|
||||||
int64_t get_axis() const { return m_axis; }
|
int64_t get_axis() const { return m_axis; }
|
||||||
|
@ -41,6 +41,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -74,6 +74,7 @@ namespace ngraph
|
|||||||
void set_pad_mode(PadMode pad_mode) { m_pad_mode = pad_mode; }
|
void set_pad_mode(PadMode pad_mode) { m_pad_mode = pad_mode; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PadMode m_pad_mode;
|
PadMode m_pad_mode;
|
||||||
|
@ -52,6 +52,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::PRelu;
|
using v0::PRelu;
|
||||||
|
@ -66,6 +66,7 @@ namespace ngraph
|
|||||||
virtual bool visit_attributes(AttributeVisitor& visitor) override;
|
virtual bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PriorBoxAttrs m_attrs;
|
PriorBoxAttrs m_attrs;
|
||||||
|
@ -54,6 +54,7 @@ namespace ngraph
|
|||||||
virtual bool visit_attributes(AttributeVisitor& visitor) override;
|
virtual bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PriorBoxClusteredAttrs m_attrs;
|
PriorBoxClusteredAttrs m_attrs;
|
||||||
|
@ -42,6 +42,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
element::Type m_output_type;
|
element::Type m_output_type;
|
||||||
@ -77,6 +78,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Range;
|
using v0::Range;
|
||||||
|
@ -94,6 +94,7 @@ namespace ngraph
|
|||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs,
|
const HostTensorVector& inputs,
|
||||||
const EvaluationContext& evaluation_context) const override;
|
const EvaluationContext& evaluation_context) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
const OutputVector& inputs_values) override;
|
const OutputVector& inputs_values) override;
|
||||||
|
@ -40,6 +40,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v4
|
} // namespace v4
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -39,6 +39,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v4
|
} // namespace v4
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -36,6 +36,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -36,6 +36,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -32,6 +32,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -39,6 +39,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
};
|
};
|
||||||
|
@ -87,6 +87,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool visit_attributes(AttributeVisitor& visitor) override;
|
bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
|
@ -54,6 +54,7 @@ namespace ngraph
|
|||||||
void set_special_zero(bool special_zero) { m_special_zero = special_zero; }
|
void set_special_zero(bool special_zero) { m_special_zero = special_zero; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
|
@ -36,6 +36,7 @@ namespace ngraph
|
|||||||
bool needs_default_layout() const { return m_needs_default_layout; }
|
bool needs_default_layout() const { return m_needs_default_layout; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
const OutputVector& inputs_values) override;
|
const OutputVector& inputs_values) override;
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ namespace ngraph
|
|||||||
virtual size_t get_version() const override { return 1; }
|
virtual size_t get_version() const override { return 1; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Mode mode_from_string(const std::string& mode) const;
|
Mode mode_from_string(const std::string& mode) const;
|
||||||
|
@ -66,6 +66,7 @@ namespace ngraph
|
|||||||
PoolingMode get_mode() const { return m_mode; }
|
PoolingMode get_mode() const { return m_mode; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PoolingMode mode_from_string(const std::string& mode) const;
|
PoolingMode mode_from_string(const std::string& mode) const;
|
||||||
|
@ -47,6 +47,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
RoundMode get_mode() const { return m_mode; }
|
RoundMode get_mode() const { return m_mode; }
|
||||||
|
|
||||||
|
@ -40,6 +40,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& inputs) const override;
|
clone_with_new_inputs(const OutputVector& inputs) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool evaluate_scatter_element_update(const HostTensorVector& outputs,
|
bool evaluate_scatter_element_update(const HostTensorVector& outputs,
|
||||||
|
@ -34,6 +34,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v3
|
} // namespace v3
|
||||||
using v3::ScatterNDUpdate;
|
using v3::ScatterNDUpdate;
|
||||||
|
@ -41,6 +41,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool evaluate_scatter_update(const HostTensorVector& outputs,
|
bool evaluate_scatter_update(const HostTensorVector& outputs,
|
||||||
|
@ -67,6 +67,7 @@ namespace ngraph
|
|||||||
const AutoBroadcastSpec& get_autob() const override { return m_auto_broadcast; }
|
const AutoBroadcastSpec& get_autob() const override { return m_auto_broadcast; }
|
||||||
virtual bool evaluate(const HostTensorVector& output_values,
|
virtual bool evaluate(const HostTensorVector& output_values,
|
||||||
const HostTensorVector& input_values) const override;
|
const HostTensorVector& input_values) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AutoBroadcastSpec m_auto_broadcast;
|
AutoBroadcastSpec m_auto_broadcast;
|
||||||
|
@ -43,6 +43,7 @@ namespace ngraph
|
|||||||
bool get_is_foldable() const { return m_is_foldable; }
|
bool get_is_foldable() const { return m_is_foldable; }
|
||||||
bool evaluate(const HostTensorVector& output_values,
|
bool evaluate(const HostTensorVector& output_values,
|
||||||
const HostTensorVector& input_values) const override;
|
const HostTensorVector& input_values) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
@ -81,6 +82,7 @@ namespace ngraph
|
|||||||
bool get_is_foldable() const { return m_is_foldable; }
|
bool get_is_foldable() const { return m_is_foldable; }
|
||||||
bool evaluate(const HostTensorVector& output_values,
|
bool evaluate(const HostTensorVector& output_values,
|
||||||
const HostTensorVector& input_values) const override;
|
const HostTensorVector& input_values) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
|
@ -48,6 +48,7 @@ namespace ngraph
|
|||||||
int64_t get_group() const { return m_group; }
|
int64_t get_group() const { return m_group; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// \brief Generates a shape required to permute the data
|
/// \brief Generates a shape required to permute the data
|
||||||
|
@ -26,6 +26,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Sigmoid;
|
using v0::Sigmoid;
|
||||||
|
@ -30,6 +30,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Sign;
|
using v0::Sign;
|
||||||
|
@ -43,6 +43,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Sin;
|
using v0::Sin;
|
||||||
|
@ -29,6 +29,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Sinh;
|
using v0::Sinh;
|
||||||
|
@ -42,6 +42,7 @@ namespace ngraph
|
|||||||
void set_axis(const size_t axis) { m_axis = axis; }
|
void set_axis(const size_t axis) { m_axis = axis; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t m_axis;
|
size_t m_axis;
|
||||||
|
@ -34,6 +34,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v4
|
} // namespace v4
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -51,6 +51,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool evaluate_space_to_batch(const HostTensorVector& outputs,
|
bool evaluate_space_to_batch(const HostTensorVector& outputs,
|
||||||
|
@ -58,6 +58,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::size_t m_blocksize;
|
std::size_t m_blocksize;
|
||||||
|
@ -41,6 +41,7 @@ namespace ngraph
|
|||||||
void set_num_splits(const size_t num_splits) { m_num_splits = num_splits; }
|
void set_num_splits(const size_t num_splits) { m_num_splits = num_splits; }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
size_t m_num_splits;
|
size_t m_num_splits;
|
||||||
|
@ -43,6 +43,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Sqrt;
|
using v0::Sqrt;
|
||||||
|
@ -29,6 +29,7 @@ namespace ngraph
|
|||||||
void validate_and_infer_types() override;
|
void validate_and_infer_types() override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
bool constant_fold(OutputVector& output_values,
|
bool constant_fold(OutputVector& output_values,
|
||||||
|
@ -93,6 +93,7 @@ namespace ngraph
|
|||||||
size_t get_version() const override { return 1; }
|
size_t get_version() const override { return 1; }
|
||||||
bool evaluate(const HostTensorVector& output_values,
|
bool evaluate(const HostTensorVector& output_values,
|
||||||
const HostTensorVector& input_values) const override;
|
const HostTensorVector& input_values) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
bool evaluate_lower(const HostTensorVector& outputs) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
bool evaluate_upper(const HostTensorVector& outputs) const override;
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -39,6 +39,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v4
|
} // namespace v4
|
||||||
} // namespace op
|
} // namespace op
|
||||||
|
@ -43,6 +43,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Tan;
|
using v0::Tan;
|
||||||
|
@ -29,6 +29,7 @@ namespace ngraph
|
|||||||
clone_with_new_inputs(const OutputVector& new_args) const override;
|
clone_with_new_inputs(const OutputVector& new_args) const override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
using v0::Tanh;
|
using v0::Tanh;
|
||||||
|
@ -35,6 +35,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool evaluate_tile(const HostTensorVector& outputs,
|
bool evaluate_tile(const HostTensorVector& outputs,
|
||||||
|
@ -86,6 +86,7 @@ namespace ngraph
|
|||||||
size_t get_default_output_index() const override { return no_default_index(); }
|
size_t get_default_output_index() const override { return no_default_index(); }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int64_t m_axis;
|
int64_t m_axis;
|
||||||
@ -149,6 +150,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual size_t
|
virtual size_t
|
||||||
|
@ -40,6 +40,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
using v1::Transpose;
|
using v1::Transpose;
|
||||||
|
@ -28,6 +28,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override;
|
bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
bool evaluate_lower(const HostTensorVector& output_values) const override;
|
||||||
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
bool evaluate_upper(const HostTensorVector& output_values) const override;
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ namespace ngraph
|
|||||||
size_t get_default_output_index() const override { return no_default_index(); }
|
size_t get_default_output_index() const override { return no_default_index(); }
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool evaluate_variadic_split(const HostTensorVector& outputs,
|
bool evaluate_variadic_split(const HostTensorVector& outputs,
|
||||||
|
@ -42,6 +42,7 @@ namespace ngraph
|
|||||||
bool visit_attributes(AttributeVisitor& visitor) override;
|
bool visit_attributes(AttributeVisitor& visitor) override;
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v1
|
} // namespace v1
|
||||||
namespace v0
|
namespace v0
|
||||||
@ -73,6 +74,7 @@ namespace ngraph
|
|||||||
|
|
||||||
bool evaluate(const HostTensorVector& outputs,
|
bool evaluate(const HostTensorVector& outputs,
|
||||||
const HostTensorVector& inputs) const override;
|
const HostTensorVector& inputs) const override;
|
||||||
|
bool has_evaluate() const override;
|
||||||
};
|
};
|
||||||
} // namespace v0
|
} // namespace v0
|
||||||
|
|
||||||
|
@ -65,3 +65,21 @@ bool op::Abs::evaluate(const HostTensorVector& outputs, const HostTensorVector&
|
|||||||
NGRAPH_OP_SCOPE(v0_Abs_evaluate);
|
NGRAPH_OP_SCOPE(v0_Abs_evaluate);
|
||||||
return absop::evaluate_abs(inputs[0], outputs[0], shape_size(get_output_shape(0)));
|
return absop::evaluate_abs(inputs[0], outputs[0], shape_size(get_output_shape(0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool op::Abs::has_evaluate() const
|
||||||
|
{
|
||||||
|
NGRAPH_OP_SCOPE(v0_Abs_has_evaluate);
|
||||||
|
switch (get_input_element_type(0))
|
||||||
|
{
|
||||||
|
case ngraph::element::i32:
|
||||||
|
case ngraph::element::i64:
|
||||||
|
case ngraph::element::u32:
|
||||||
|
case ngraph::element::u64:
|
||||||
|
case ngraph::element::f16:
|
||||||
|
case ngraph::element::f32:
|
||||||
|
case ngraph::element::bf16:
|
||||||
|
case ngraph::element::boolean: return true;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -73,3 +73,20 @@ bool op::Acos::evaluate(const HostTensorVector& outputs, const HostTensorVector&
|
|||||||
NGRAPH_OP_SCOPE(v0_Acos_evaluate);
|
NGRAPH_OP_SCOPE(v0_Acos_evaluate);
|
||||||
return acosop::evaluate_acos(inputs[0], outputs[0], shape_size(get_output_shape(0)));
|
return acosop::evaluate_acos(inputs[0], outputs[0], shape_size(get_output_shape(0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool op::Acos::has_evaluate() const
|
||||||
|
{
|
||||||
|
NGRAPH_OP_SCOPE(v0_Acos_has_evaluate);
|
||||||
|
switch (get_input_element_type(0))
|
||||||
|
{
|
||||||
|
case ngraph::element::i32:
|
||||||
|
case ngraph::element::i64:
|
||||||
|
case ngraph::element::u32:
|
||||||
|
case ngraph::element::u64:
|
||||||
|
case ngraph::element::f16:
|
||||||
|
case ngraph::element::f32:
|
||||||
|
case ngraph::element::boolean: return true;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user