diff --git a/src/PTQ/PTQ.cpp b/src/PTQ/PTQ.cpp index 6c678d99ef99a295ee5cfbaae8ad7a8d0f13fbd4..00956e944d1ab87b09e2ac03fda46ea3d8ded482 100644 --- a/src/PTQ/PTQ.cpp +++ b/src/PTQ/PTQ.cpp @@ -383,7 +383,6 @@ void insertScalingBelowProducer(std::shared_ptr<Node> producerNode, std::shared_ std::string scalingNodeName = makeUniqueName(producerNode->name() + "_ProducerScaling", graphView); std::shared_ptr<Node> scalingNode = BaseQuantizer(1.0, scalingNodeName);; addAttr(scalingNode, "isProducerScaling"); - // XXX XXX XXX addAttr(scalingNode, "isActivationScaling") ? NO !!! scalingNode->getOperator()->setDataType(DataType::Float64); // getDataType(parentNode) scalingNode->getOperator()->setBackend(determineBackend(producerNode)); // XXX use the producer parent instead ??? @@ -617,37 +616,6 @@ void normalizeParameters(std::shared_ptr<GraphView> graphView) } } -// XXX TODO : take care of the CUDA backend for this too !!! -std::unordered_map<std::shared_ptr<Node>, double> computeRanges(std::shared_ptr<GraphView> graphView, std::shared_ptr<Tensor> inputTensor, bool scalingNodesOnly) -{ - std::unordered_map<std::shared_ptr<Node>, double> valueRanges; - - SequentialScheduler scheduler(graphView); - scheduler.resetScheduling(); - - // Inference ... - - scheduler.forward(true, {inputTensor}); - - // Gather ranges ... - - std::set<std::shared_ptr<Node>> nodeSet = graphView->getNodes(); - for (std::shared_ptr<Node> node : nodeSet) - { - if ((scalingNodesOnly && hasAttr(node, "isActivationScaling")) || (!scalingNodesOnly && (node->type() != "Producer"))) - { - std::shared_ptr<Operator> nodeOperator = node->getOperator(); - std::shared_ptr<Tensor> valueTensor = std::static_pointer_cast<Tensor> (nodeOperator->getRawOutput(0)); - double range = getTensorAbsoluteMax(valueTensor); - - // Associate the value to the scaling node ... - valueRanges.insert(std::make_pair(node, range)); - } - } - - return valueRanges; -} - std::unordered_map<std::shared_ptr<Node>, double> computeRanges(std::shared_ptr<GraphView> graphView, std::vector<std::shared_ptr<Tensor>> inputDataSet, bool scalingNodesOnly, bool useCuda) { std::unordered_map<std::shared_ptr<Node>, double> valueRanges;