|
|
|
@ -76,7 +76,7 @@ bool AnfExporter::RemoveIfTupleGetItem(const CNodePtr &cnode) {
|
|
|
|
|
hasTupleGetItem = true;
|
|
|
|
|
inputs.emplace_back(tupleGetItemNode->input(1));
|
|
|
|
|
AnfNodePtr indexNode = tupleGetItemNode->input(2);
|
|
|
|
|
if (utils::isa<ValueNodePtr>(indexNode)) {
|
|
|
|
|
if (!utils::isa<ValueNode>(indexNode)) {
|
|
|
|
|
MS_LOG(ERROR) << "TupleGetItem's input 2 is not valuenode";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
@ -300,18 +300,18 @@ void AnfExporter::SetOpInputNode(const CNodePtr &cnode,
|
|
|
|
|
paramTensor->data.resize(paramValue->tensor_size());
|
|
|
|
|
memcpy(paramTensor->data.data(), paramValue->tensor_addr(),
|
|
|
|
|
paramValue->tensor_size());
|
|
|
|
|
}
|
|
|
|
|
for (auto &ite : paramValue->quant_param()) {
|
|
|
|
|
auto quantPar = std::make_unique<schema::QuantParamT>();
|
|
|
|
|
quantPar->scale = ite->scale;
|
|
|
|
|
quantPar->zeroPoint = ite->zeroPoint;
|
|
|
|
|
quantPar->min = ite->min;
|
|
|
|
|
quantPar->max = ite->max;
|
|
|
|
|
quantPar->narrowRange = ite->narrowRange;
|
|
|
|
|
quantPar->inited = ite->inited;
|
|
|
|
|
quantPar->numBits = ite->numBits;
|
|
|
|
|
paramTensor->quantParams.emplace_back(std::move(quantPar));
|
|
|
|
|
paramTensor->dataType = paramValue->tensor_type();
|
|
|
|
|
for (auto &ite : paramValue->quant_param()) {
|
|
|
|
|
auto quantPar = std::make_unique<schema::QuantParamT>();
|
|
|
|
|
quantPar->scale = ite->scale;
|
|
|
|
|
quantPar->zeroPoint = ite->zeroPoint;
|
|
|
|
|
quantPar->min = ite->min;
|
|
|
|
|
quantPar->max = ite->max;
|
|
|
|
|
quantPar->narrowRange = ite->narrowRange;
|
|
|
|
|
quantPar->inited = ite->inited;
|
|
|
|
|
quantPar->numBits = ite->numBits;
|
|
|
|
|
paramTensor->quantParams.emplace_back(std::move(quantPar));
|
|
|
|
|
paramTensor->dataType = paramValue->tensor_type();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
nodeIdMap[paramNode->fullname_with_scope()] =
|
|
|
|
|
meta_graph->allTensors.size();
|
|
|
|
@ -373,9 +373,11 @@ void AnfExporter::SetOpOutputNode(
|
|
|
|
|
int i = 0;
|
|
|
|
|
for (auto outputTensor : outputTensors) {
|
|
|
|
|
std::string name = cnodeName + "_o:" + std::to_string(i);
|
|
|
|
|
auto msTensor = new schema::TensorT();
|
|
|
|
|
msTensor->nodeType = schema::NodeType_Parameter;
|
|
|
|
|
nodeIdMap[name] = graph->allTensors.size();
|
|
|
|
|
cnode->outputIndex.emplace_back(graph->allTensors.size());
|
|
|
|
|
graph->allTensors.emplace_back(outputTensor);
|
|
|
|
|
graph->allTensors.emplace_back(msTensor);
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|