From f1f954046a5f6de0aab5aac87264b45f0fa696f6 Mon Sep 17 00:00:00 2001 From: bhalimi <benjamin.halimi@cea.fr> Date: Wed, 16 Apr 2025 14:19:12 +0000 Subject: [PATCH] replace 'BaseQuantizer' with 'Quantizer' --- include/aidge/operator/PTQMetaOps.hpp | 6 +++--- src/PTQ/PTQ.cpp | 24 ++++++++++++------------ src/operator/PTQMetaOps.cpp | 12 ++++++------ 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/include/aidge/operator/PTQMetaOps.hpp b/include/aidge/operator/PTQMetaOps.hpp index 1c1400e..9618220 100644 --- a/include/aidge/operator/PTQMetaOps.hpp +++ b/include/aidge/operator/PTQMetaOps.hpp @@ -22,10 +22,10 @@ namespace Aidge { /** * @brief Create a Quantizer node that initially consists of a multiplier and a scaling factor. - * @param scalingFactor The value of the multiplicative coefficient - * @param name Name of the Quantizer + * @param scalingFactor The value of the multiplicative coefficient. + * @param name Name of the Quantizer. */ - std::shared_ptr<Aidge::Node> BaseQuantizer(double scalingFactor, const std::string& name); + std::shared_ptr<Aidge::Node> Quantizer(double scalingFactor, const std::string& name); /** * @brief Given a Quantizer, multiply it's internal multiplicative coefficient by a value. diff --git a/src/PTQ/PTQ.cpp b/src/PTQ/PTQ.cpp index 836ece1..95be899 100644 --- a/src/PTQ/PTQ.cpp +++ b/src/PTQ/PTQ.cpp @@ -296,7 +296,7 @@ void castQuantizedNetwork(std::shared_ptr<GraphView> graphView, Aidge::DataType std::set<std::shared_ptr<Node>> nodes = graphView->getNodes(); // must be called again because of removeRound() ! for (std::shared_ptr<Node> node : nodes) { - if (node->type() == "BaseQuantizer") + if (node->type() == "Quantizer") { if (hasAttr(node, "isActivationScaling")) { @@ -320,13 +320,13 @@ void castQuantizedNetwork(std::shared_ptr<GraphView> graphView, Aidge::DataType std::set<std::shared_ptr<Node>> nodes = graphView->getNodes(); for (std::shared_ptr<Node> node : nodes) - if (node->type() != "BaseQuantizer" && node->type() != "Producer") + if (node->type() != "Quantizer" && node->type() != "Producer") node->getOperator()->setDataType(targetType); // Cast the quantizers input and outputs by inserting Cast nodes for (std::shared_ptr<Node> node : nodes) - if (node->type() == "BaseQuantizer") + if (node->type() == "Quantizer") castQuantizerIOs(node, targetType); } } @@ -395,7 +395,7 @@ static std::shared_ptr<Tensor> getWeightTensor(std::shared_ptr<Node> node) { std::shared_ptr<Node> producer = node->getParent(1); - if (producer->type() == "BaseQuantizer") + if (producer->type() == "Quantizer") producer = producer->getParent(0); return std::static_pointer_cast<OperatorTensor>(producer->getOperator())->getOutput(0); @@ -405,7 +405,7 @@ static std::shared_ptr<Tensor> getBiasTensor(std::shared_ptr<Node> node) { std::shared_ptr<Node> producer = node->getParent(2); - if (producer->type() == "BaseQuantizer") + if (producer->type() == "Quantizer") producer = producer->getParent(0); return std::static_pointer_cast<OperatorTensor>(producer->getOperator())->getOutput(0); @@ -480,7 +480,7 @@ static std::shared_ptr<Node> getPreviousScalingNode(std::shared_ptr<Node> node) void insertScalingBelowProducer(std::shared_ptr<Node> producerNode, std::shared_ptr<GraphView> graphView) { std::string scalingNodeName = makeUniqueName(producerNode->name() + "_ProducerScaling", graphView); - std::shared_ptr<Node> scalingNode = BaseQuantizer(1.0, scalingNodeName);; + std::shared_ptr<Node> scalingNode = Quantizer(1.0, scalingNodeName);; addAttr(scalingNode, "isProducerScaling"); scalingNode->getOperator()->setDataType(DataType::Float64); // getDataType(parentNode) @@ -531,7 +531,7 @@ void insertResidualScalingNodes(std::shared_ptr<GraphView> graphView) std::string residualNodeName = makeUniqueName(parentNode->name() + "_Res", graphView); // XXX XXX XXX - std::shared_ptr<Node> residualNode = BaseQuantizer(1.0, residualNodeName); + std::shared_ptr<Node> residualNode = Quantizer(1.0, residualNodeName); addAttr(residualNode, "isActivationScaling"); // XXX addAttr(residualNode, "isResidual"); @@ -561,7 +561,7 @@ void insertScalingNodes(std::shared_ptr<GraphView> graphView) std::string scalingNodeName = makeUniqueName(parentNode->name() + "_Scaling", graphView); // XXX XXX XXX - std::shared_ptr<Node> scalingNode = BaseQuantizer(1.0, scalingNodeName); + std::shared_ptr<Node> scalingNode = Quantizer(1.0, scalingNodeName); addAttr(scalingNode, "isActivationScaling"); scalingNode->getOperator()->setDataType(DataType::Float64); // getDataType(parentNode) @@ -582,7 +582,7 @@ void insertScalingNodes(std::shared_ptr<GraphView> graphView) std::string prevScalingNodeName = makeUniqueName(parentNode->name() + "_PrevScaling", graphView); // XXX XXX XXX - std::shared_ptr<Node> prevScalingNode = BaseQuantizer(1.0, prevScalingNodeName); + std::shared_ptr<Node> prevScalingNode = Quantizer(1.0, prevScalingNodeName); addAttr(prevScalingNode, "isActivationScaling"); prevScalingNode->getOperator()->setDataType(DataType::Float64); // getDataType(parentNode) @@ -1161,7 +1161,7 @@ void insertCompensationNodes(std::shared_ptr<GraphView> graphView, std::uint8_t // preceded by an Weighted node (that is not forking), and insert // a mul node (Compensation) before it if so ... - if (node->type() == "BaseQuantizer") + if (node->type() == "Quantizer") { // Note : this works because a Quantizer has only one Parent ... @@ -1221,7 +1221,7 @@ void performSingleShiftApproximation(std::shared_ptr<GraphView> graphView) for (std::shared_ptr<Node> node : nodeVector) { - if (node->type() == "BaseQuantizer") + if (node->type() == "Quantizer") { std::shared_ptr<Node> linearNode = node->getParent(0); @@ -1245,7 +1245,7 @@ void performSingleShiftApproximation(std::shared_ptr<GraphView> graphView) static void printScalingFactors(std::shared_ptr<GraphView> graphView) { for (auto node : retrieveNodeVector(graphView)) - if (hasAttr(node, "isActivationScaling") || node->type() == "BaseQuantizer") + if (hasAttr(node, "isActivationScaling") || node->type() == "Quantizer") { double scalingFactor = getScalingFactor(node); Log::notice(" SCALING FACTOR : {} ({})", scalingFactor, node->name()); diff --git a/src/operator/PTQMetaOps.cpp b/src/operator/PTQMetaOps.cpp index 3cc00c9..a9fad64 100644 --- a/src/operator/PTQMetaOps.cpp +++ b/src/operator/PTQMetaOps.cpp @@ -55,7 +55,7 @@ static void copyDynamicAttributes(std::shared_ptr<Aidge::Node> prevNode, std::sh addAttr(newNode, "isActivationScaling"); } -std::shared_ptr<Node> BaseQuantizer(double scalingFactor, const std::string& name) +std::shared_ptr<Node> Quantizer(double scalingFactor, const std::string& name) { std::shared_ptr<Node> mulNode = Mul(name + "_MulQuant"); @@ -78,7 +78,7 @@ std::shared_ptr<Node> BaseQuantizer(double scalingFactor, const std::string& nam // alternative : capture the Producer ... // std::shared_ptr<GraphView> connectedGraphView = getConnectedGraphView(mulNode); - std::shared_ptr<Node> quantizer = MetaOperator("BaseQuantizer", graphView, {}, name); // an simpler prototype exists ... + std::shared_ptr<Node> quantizer = MetaOperator("Quantizer", graphView, {}, name); // an simpler prototype exists ... return quantizer; } @@ -160,7 +160,7 @@ void appendRoundClip(std::shared_ptr<Node>& quantizer, double clipMin, double cl // create the new quantizer and replace the previous one - std::shared_ptr<Node> newQuantizer = MetaOperator("BaseQuantizer", microGraph, {}, quantizer->name()); + std::shared_ptr<Node> newQuantizer = MetaOperator("Quantizer", microGraph, {}, quantizer->name()); copyDynamicAttributes(quantizer, newQuantizer); GraphView::replace({quantizer}, {newQuantizer}); @@ -262,7 +262,7 @@ void removeRound(std::shared_ptr<Node>& quantizer) // Create the new quantizer and replace the previous one - std::shared_ptr<Node> newQuantizer = MetaOperator("BaseQuantizer", microGraph, {}, quantizer->name()); + std::shared_ptr<Node> newQuantizer = MetaOperator("Quantizer", microGraph, {}, quantizer->name()); copyDynamicAttributes(quantizer, newQuantizer); GraphView::replace({quantizer}, {newQuantizer}); @@ -327,7 +327,7 @@ void replaceScalingWithBitShift(std::shared_ptr<Node>& quantizer) // create the new quantizer and replace the previous one - std::shared_ptr<Node> newQuantizer = MetaOperator("BaseQuantizer", microGraph, {}, quantizer->name()); + std::shared_ptr<Node> newQuantizer = MetaOperator("Quantizer", microGraph, {}, quantizer->name()); copyDynamicAttributes(quantizer, newQuantizer); GraphView::replace({quantizer}, {newQuantizer}); @@ -366,7 +366,7 @@ void castQuantizerIOs(std::shared_ptr<Node>& quantizer, Aidge::DataType external // Create the new quantizer and replace the old one - std::shared_ptr<Node> newQuantizer = MetaOperator("BaseQuantizer", microGraph, {}, quantizer->name()); + std::shared_ptr<Node> newQuantizer = MetaOperator("Quantizer", microGraph, {}, quantizer->name()); copyDynamicAttributes(quantizer, newQuantizer); GraphView::replace({quantizer}, {newQuantizer}); -- GitLab