!15948 fix micro coder codex

From: @zoloft
Reviewed-by: @wangchengyuan,@zhanghaibo5
Signed-off-by: @wangchengyuan
This commit is contained in:
mindspore-ci-bot 2021-04-30 14:15:38 +08:00 committed by Gitee
commit 098292eefa
9 changed files with 22 additions and 24 deletions

View File

@ -93,7 +93,11 @@ int ArithmeticFP32Coder::ReSize(CoderContext *const context) {
CalcMultiplesAndStrides(arithmetic_parameter_); CalcMultiplesAndStrides(arithmetic_parameter_);
if (arithmetic_parameter_->broadcasting_) { if (arithmetic_parameter_->broadcasting_) {
outside_ = 1; outside_ = 1;
for (auto i = arithmetic_parameter_->ndim_ - 1; i >= 0; --i) { int resize_n_index = static_cast<int>(arithmetic_parameter_->ndim_) - 1;
if (resize_n_index < 0) {
return RET_ERROR;
}
for (auto i = resize_n_index; i >= 0; --i) {
if (arithmetic_parameter_->in_shape0_[i] != arithmetic_parameter_->in_shape1_[i]) { if (arithmetic_parameter_->in_shape0_[i] != arithmetic_parameter_->in_shape1_[i]) {
break_pos_ = i; break_pos_ = i;
break; break;

View File

@ -38,7 +38,7 @@ class AddInt8Coder final : public OperatorCoder {
int Init(); int Init();
int ReSize(); int ReSize();
AddQuantParameter para_; AddQuantParameter para_{};
ArithmeticParameter *arith_para_{nullptr}; ArithmeticParameter *arith_para_{nullptr};
Tensor *input0{nullptr}; Tensor *input0{nullptr};
Tensor *input1{nullptr}; Tensor *input1{nullptr};

View File

@ -54,7 +54,7 @@ int DivInt8Coder::DoCode(CoderContext *const context) {
int element_num = output_tensor_->ElementsNum(); int element_num = output_tensor_->ElementsNum();
code.CodeStruct("param", param_); code.CodeStruct("param", param_);
if (broadcast_) { if (broadcast_) {
ArithmeticParameter tile_para; ArithmeticParameter tile_para = {0};
tile_para.ndim_ = output_tensor_->shape().size(); tile_para.ndim_ = output_tensor_->shape().size();
for (size_t i = 0; i < tile_para.ndim_; i++) { for (size_t i = 0; i < tile_para.ndim_; i++) {
tile_para.in_shape0_[i] = input0->DimensionSize(i); tile_para.in_shape0_[i] = input0->DimensionSize(i);

View File

@ -37,7 +37,7 @@ class DivInt8Coder final : public OperatorCoder {
int DoCode(CoderContext *const context) override; int DoCode(CoderContext *const context) override;
private: private:
DivQuantArg param_; DivQuantArg param_{};
Tensor *input0{nullptr}; Tensor *input0{nullptr};
Tensor *input1{nullptr}; Tensor *input1{nullptr};
int8_t *tile0_data_{nullptr}; int8_t *tile0_data_{nullptr};

View File

@ -39,10 +39,10 @@ class ReluxInt8Coder : public OperatorCoder {
int DoCode(CoderContext *const context) override; int DoCode(CoderContext *const context) override;
protected: protected:
ReluXQuantArg quant_arg_; ReluXQuantArg quant_arg_{};
private: private:
int type_; int type_{0};
}; };
class ReluInt8Coder final : public ReluxInt8Coder { class ReluInt8Coder final : public ReluxInt8Coder {

View File

@ -40,8 +40,16 @@ int ResizeInt8Coder::Prepare(CoderContext *const context) {
quant_out_ = new (std::nothrow)::QuantArg; quant_out_ = new (std::nothrow)::QuantArg;
multiplier_ = new (std::nothrow) QuantMulArg; multiplier_ = new (std::nothrow) QuantMulArg;
MS_CHECK_PTR(quant_in_); MS_CHECK_PTR(quant_in_);
MS_CHECK_PTR(quant_out_); if (quant_out_ == nullptr) {
MS_CHECK_PTR(multiplier_); delete quant_in_;
quant_in_ = nullptr;
}
if (multiplier_ == nullptr) {
delete quant_in_;
quant_in_ = nullptr;
delete quant_out_;
quant_out_ = nullptr;
}
quant_in_->zp_ = input_tensor_->quant_params().at(0).zeroPoint; quant_in_->zp_ = input_tensor_->quant_params().at(0).zeroPoint;
quant_in_->scale_ = input_tensor_->quant_params().at(0).scale; quant_in_->scale_ = input_tensor_->quant_params().at(0).scale;
quant_out_->zp_ = output_tensor_->quant_params().at(0).zeroPoint; quant_out_->zp_ = output_tensor_->quant_params().at(0).zeroPoint;

View File

@ -29,7 +29,7 @@ class ResizeInt8Coder final : public ResizeBaseCoder {
const Model::Node *node, size_t node_index, Target target) const Model::Node *node, size_t node_index, Target target)
: ResizeBaseCoder(in_tensors, out_tensors, node, node_index, target) {} : ResizeBaseCoder(in_tensors, out_tensors, node, node_index, target) {}
~ResizeInt8Coder(); ~ResizeInt8Coder() override;
int Prepare(CoderContext *const context) override; int Prepare(CoderContext *const context) override;
@ -37,23 +37,10 @@ class ResizeInt8Coder final : public ResizeBaseCoder {
private: private:
int ReSize(); int ReSize();
int InitResizeBiLinear();
int InitFloatResizeBiLinear();
int InitResizeQuantArg();
int CalRatio();
int CalInterpolationRange();
void FreeResizeBiLinear();
int InitResizeFloatQuantArg();
int CalFloatRatio();
int CalFloatInterpolationRange();
void FreeFloatResizeBiLinear();
ResizeParameter *param_{nullptr}; ResizeParameter *param_{nullptr};
::QuantArg *quant_in_{nullptr}; ::QuantArg *quant_in_{nullptr};
::QuantArg *quant_out_{nullptr}; ::QuantArg *quant_out_{nullptr};
QuantMulArg *multiplier_{nullptr}; QuantMulArg *multiplier_{nullptr};
ResizeQuantArg resize_quant_arg_;
ResizeFloatScaleQuantArg resize_float_quant_arg_;
}; };
} // namespace mindspore::lite::micro::nnacl } // namespace mindspore::lite::micro::nnacl

View File

@ -37,7 +37,7 @@ class SubInt8Coder final : public OperatorCoder {
int DoCode(CoderContext *const context) override; int DoCode(CoderContext *const context) override;
private: private:
SubQuantArg param_; SubQuantArg param_{};
Tensor *input0{nullptr}; Tensor *input0{nullptr};
Tensor *input1{nullptr}; Tensor *input1{nullptr};
int8_t *tile0_data_{nullptr}; int8_t *tile0_data_{nullptr};

View File

@ -15,7 +15,6 @@
*/ */
#include "wrapper/int8/conv1x1_init_int8_wrapper.h" #include "wrapper/int8/conv1x1_init_int8_wrapper.h"
#include <memory.h>
#include "nnacl/int8/matmul_int8.h" #include "nnacl/int8/matmul_int8.h"
#include "nnacl/errorcode.h" #include "nnacl/errorcode.h"