From 7f0b2c74077d9cfb2cf1265129fe903c81b1fcd7 Mon Sep 17 00:00:00 2001 From: ShenLiang <2282912238@qq.com> Date: Mon, 20 Apr 2020 10:42:23 +0800 Subject: [PATCH] fix memory leaking problem of dataset, test=develop (#23955) --- paddle/fluid/framework/data_set.cc | 2 ++ paddle/fluid/framework/data_set.h | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/paddle/fluid/framework/data_set.cc b/paddle/fluid/framework/data_set.cc index 0684d5674a..b0948c8df5 100644 --- a/paddle/fluid/framework/data_set.cc +++ b/paddle/fluid/framework/data_set.cc @@ -326,6 +326,8 @@ void DatasetImpl::ReleaseMemory() { std::vector>().swap(multi_pv_consume_); std::vector>().swap(readers_); + input_records_.clear(); + std::vector().swap(input_records_); VLOG(3) << "DatasetImpl::ReleaseMemory() end"; } diff --git a/paddle/fluid/framework/data_set.h b/paddle/fluid/framework/data_set.h index 7adef69a44..bb6210b1f0 100644 --- a/paddle/fluid/framework/data_set.h +++ b/paddle/fluid/framework/data_set.h @@ -272,6 +272,7 @@ class DatasetImpl : public Dataset { std::mutex global_index_mutex_; int64_t global_index_ = 0; std::vector> consume_task_pool_; + std::vector input_records_; // only for paddleboxdatafeed }; // use std::vector or Record as data type @@ -296,9 +297,6 @@ class MultiSlotDataset : public DatasetImpl { virtual void GetRandomData(const std::set& slots_to_replace, std::vector* result); virtual ~MultiSlotDataset() {} - - protected: - std::vector input_records_; // the real data }; } // end namespace framework