add set_unused_quant_param_to_default_pass

pull/8117/head
cjh9368 4 years ago
parent 2124ab1a8c
commit 30b2b66963

@ -15,7 +15,6 @@
*/
#include "tools/converter/graphdef_transform.h"
#include <memory>
#include <string>
#include "schema/model_generated.h"
#include "src/common/log_adapter.h"
@ -35,6 +34,7 @@
#include "tools/converter/legacy_optimizer/graph/topological_sort_pass.h"
#include "tools/converter/legacy_optimizer/graph/tensor_quant_pass.h"
#include "tools/converter/legacy_optimizer/graph/infer_quant_param_pass.h"
#include "tools/converter/legacy_optimizer/graph/set_unused_quant_param_to_default_pass.h"
using std::string;
namespace mindspore::lite {
@ -154,6 +154,7 @@ int GraphDefTransform::Transform(const converter::Flags &ctx) {
quantNodeOptimizer.AddPass(dTypeTransPass);
quantNodeOptimizer.AddPass(new (std::nothrow) QuantCastFusionPass());
quantNodeOptimizer.AddPass(new (std::nothrow) IsolatedNodeRemovePass());
quantNodeOptimizer.AddPass(new (std::nothrow) SetUnusedQuantParamToDefaultPass());
status = quantNodeOptimizer.Run(graphDefT);
if (status != RET_OK && status != RET_NO_CHANGE) {
MS_LOG(ERROR) << "Run quantNodeOptimizer graphPasses Failed";

@ -12,6 +12,7 @@ file(GLOB GRAPH_PASS
${CMAKE_CURRENT_SOURCE_DIR}/infershape_pass.cc
${CMAKE_CURRENT_SOURCE_DIR}/tensor_quant_pass.cc
${CMAKE_CURRENT_SOURCE_DIR}/infer_quant_param_pass.cc
${CMAKE_CURRENT_SOURCE_DIR}/set_unused_quant_param_to_default_pass.cc
)
set_property(SOURCE ${GRAPH_PASS} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_LITE)
add_library(graph_pass_mid OBJECT ${GRAPH_PASS})

@ -0,0 +1,34 @@
/**
* Copyright 2019 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "tools/converter/legacy_optimizer/graph/set_unused_quant_param_to_default_pass.h"
#include "tools/converter/converter_context.h"
#include "tools/common/tensor_util.h"
namespace mindspore::lite {
STATUS SetUnusedQuantParamToDefaultPass::Run(schema::MetaGraphT *graph) {
for (auto &tensor : graph->allTensors) {
for (auto &quant_param : tensor->quantParams) {
quant_param->min = 0;
quant_param->max = 0;
quant_param->narrowRange = true;
quant_param->numBits = 8;
quant_param->dstDtype = TypeId::kNumberTypeFloat32;
}
}
return RET_OK;
}
} // namespace mindspore::lite

@ -0,0 +1,34 @@
/**
* Copyright 2019 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef LITE_UNUSED_QUANT_PARAM_DATA_REMOVE_PASS_H
#define LITE_UNUSED_QUANT_PARAM_DATA_REMOVE_PASS_H
#include <memory>
#include "tools/converter/optimizer.h"
#include "tools/common/graph_util.h"
namespace mindspore {
namespace lite {
class SetUnusedQuantParamToDefaultPass : public GraphPass {
public:
SetUnusedQuantParamToDefaultPass() {}
~SetUnusedQuantParamToDefaultPass() override = default;
STATUS Run(schema::MetaGraphT *graph) override;
};
} // namespace lite
} // namespace mindspore
#endif // LITE_UNUSED_QUANT_PARAM_DATA_REMOVE_PASS_H
Loading…
Cancel
Save