This PR addresses memory leak issues in the NNTrainer.
**Changes proposed in this PR:**
- Release MemoryData pointer in the Tensor constructor using the vector.
**Self-evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Change-Id: Ia59d891439f1507a16b3fc252731c25993cf7b26
Signed-off-by: Donghyeon Jeong <dhyeon.jeong@samsung.com>
new MemoryData((void *)(new int8_t[dim.getDataLen()]()));
data = std::shared_ptr<MemoryData>(mem_data, [](MemoryData *mem_data) {
delete[] mem_data->getAddr<int8_t>();
+ delete mem_data;
});
offset = 0;
new MemoryData((void *)(new float[dim.getDataLen()]()));
data = std::shared_ptr<MemoryData>(mem_data, [](MemoryData *mem_data) {
delete[] mem_data->getAddr<float>();
+ delete mem_data;
});
offset = 0;
new MemoryData((void *)(new _FP16[dim.getDataLen()]()));
data = std::shared_ptr<MemoryData>(mem_data, [](MemoryData *mem_data) {
delete[] mem_data->getAddr<_FP16>();
+ delete mem_data;
});
offset = 0;
MemoryData *mem_data =
new MemoryData((void *)(new uint16_t[dim.getDataLen()]()));
data = std::shared_ptr<MemoryData>(mem_data, [](MemoryData *mem_data) {
- delete[] mem_data->getAddr<uint16_t>();
+ delete[] mem_data->getAddr<int16_t>();
+ delete mem_data;
});
offset = 0;