diff --git a/src/PTQ/PTQ.cpp b/src/PTQ/PTQ.cpp index e9bc406a95a1bbb32530b3046352bdc820716411..0a1f3f17100ccce994942d17bf4f2f75b85f62d0 100644 --- a/src/PTQ/PTQ.cpp +++ b/src/PTQ/PTQ.cpp @@ -238,15 +238,14 @@ static void insertChildren(std::shared_ptr<Node> parent, std::shared_ptr<Node> n graphView->add(newNode); } -// XXX XXX XXX void foldProducerQuantizers(std::shared_ptr<GraphView> graphView) { - std::vector<std::shared_ptr<Node>> quantizers; + std::vector<std::shared_ptr<Node>> producerQuantizers; for (std::shared_ptr<Node> node : graphView->getNodes()) if (hasAttr(node, "isProducerScaling")) - quantizers.push_back(node); + producerQuantizers.push_back(node); - for (std::shared_ptr<Node> quantizer : quantizers) + for (std::shared_ptr<Node> quantizer : producerQuantizers) { // Log::notice(" Quantizer : {} {} ", quantizer->name(), quantizer->type()); @@ -1252,9 +1251,8 @@ void quantizeNetwork(std::shared_ptr<GraphView> graphView, std::uint8_t nbBits, if (foldGraph) { - Log::notice(" Folding producer's quantizers ..."); + Log::notice(" Folding the Producer's Quantizers ..."); foldProducerQuantizers(graphView); - Log::notice(" YYY ZZZ "); } if (verbose) diff --git a/src/operator/PTQMetaOps.cpp b/src/operator/PTQMetaOps.cpp index 9a417154204b6e616978467c8a7c49d5f7f9fee1..971546b5d1416eb35cea48f5ee0ca4b6e4ee4903 100644 --- a/src/operator/PTQMetaOps.cpp +++ b/src/operator/PTQMetaOps.cpp @@ -43,11 +43,12 @@ std::shared_ptr<Node> BaseQuantizer(double scalingFactor, const std::string& nam std::shared_ptr<Node> scalingFactorProducer = addProducer<1>(mulNode, 1, {1}, "ScalingFactor"); scalingFactorProducer->getOperator()->setOutput(0, scalingFactorTensor); - // TODO : the above should be replaced by : + // TODO : the above could be replaced by : /* std::shared_ptr<Node> scalingFactorProducer = Producer(scalingFactorTensor); scalingFactorProducer->addChild(mulNode, 0, 1); */ + // create the graphView ... std::shared_ptr<GraphView> graphView = Sequential({mulNode}); graphView->add(scalingFactorProducer); @@ -157,7 +158,8 @@ void appendRoundClip(std::shared_ptr<Node> metaOpNode, double clipMin, double cl SequentialScheduler scheduler(newMicroGraph); scheduler.resetScheduling(); - + //scheduler.generateScheduling(); + // set the micrograph *microGraph = *newMicroGraph;