diff --git a/mindspore/lite/include/model.h b/mindspore/lite/include/model.h index cd7a574c2e..91cea9c941 100644 --- a/mindspore/lite/include/model.h +++ b/mindspore/lite/include/model.h @@ -55,6 +55,9 @@ struct MS_API Model { /// \brief Free meta graph temporary buffer virtual void Free() = 0; + /// \brief Free all temporay buffer.EG: nodes in the model. + virtual void Destroy() = 0; + /// \brief Model destruct, free all memory virtual ~Model() = default; }; diff --git a/mindspore/lite/src/lite_model.cc b/mindspore/lite/src/lite_model.cc index fca67d624d..37b19b7efd 100644 --- a/mindspore/lite/src/lite_model.cc +++ b/mindspore/lite/src/lite_model.cc @@ -101,7 +101,7 @@ void LiteModel::Free() { attr_tensor_bufs_.resize(0); } -LiteModel::~LiteModel() { +void LiteModel::Destroy() { Free(); auto nodes_size = this->all_nodes_.size(); for (size_t i = 0; i < nodes_size; ++i) { diff --git a/mindspore/lite/src/lite_model.h b/mindspore/lite/src/lite_model.h index 5dd043a972..0e56b83e1a 100644 --- a/mindspore/lite/src/lite_model.h +++ b/mindspore/lite/src/lite_model.h @@ -42,7 +42,9 @@ class LiteModel : public Model { void Free() override; - ~LiteModel() override; + void Destroy() override; + + ~LiteModel() override { Destroy(); } private: #ifdef ENABLE_V0