fix bug in sub_graph_kernel

pull/8377/head
hangangqiang 4 years ago
parent 962772d2cc
commit 0aaeb7551f

@ -160,7 +160,9 @@ int CpuSubGraph::Prepare() {
void CpuFp16SubGraph::FreeOriginInputData() { void CpuFp16SubGraph::FreeOriginInputData() {
for (auto *data_store : this->origin_input_data_) { for (auto *data_store : this->origin_input_data_) {
MS_ASSERT(data_store != nullptr); if (data_store == nullptr) {
continue;
}
// free data in data_store // free data in data_store
if (data_store->data_ != nullptr) { if (data_store->data_ != nullptr) {
if (data_store->allocator_ == nullptr) { if (data_store->allocator_ == nullptr) {

@ -65,19 +65,19 @@ struct DataStore {
lite::Allocator *allocator_ = nullptr; lite::Allocator *allocator_ = nullptr;
static DataStore *CreateDataStore(void *data = nullptr, lite::Allocator *data_allocator = nullptr, static DataStore *CreateDataStore(void *data = nullptr, lite::Allocator *data_allocator = nullptr,
lite::Allocator *allocator = nullptr) { lite::Allocator *allocator = nullptr) {
DataStore *tensor_data = nullptr; DataStore *data_store = nullptr;
if (allocator == nullptr) { if (allocator == nullptr) {
tensor_data = static_cast<DataStore *>(malloc(sizeof(DataStore))); data_store = static_cast<DataStore *>(malloc(sizeof(DataStore)));
} else { } else {
tensor_data = static_cast<DataStore *>(allocator->Malloc(sizeof(DataStore))); data_store = static_cast<DataStore *>(allocator->Malloc(sizeof(DataStore)));
} }
if (tensor_data == nullptr) { if (data_store == nullptr) {
MS_LOG(ERROR) << "Malloc tensor_data failed"; MS_LOG(ERROR) << "Malloc data_store failed";
return nullptr; return nullptr;
} }
tensor_data->data_ = data; data_store->data_ = data;
tensor_data->allocator_ = data_allocator; data_store->allocator_ = data_allocator;
return tensor_data; return data_store;
} }
}; };

Loading…
Cancel
Save