mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 14:36:36 +08:00
Merge pull request #9229 from alalek:dnn_torch_memory_leaks
This commit is contained in:
commit
bcff9fd067
@ -100,7 +100,7 @@ struct TorchImporter : public ::cv::dnn::Importer
|
|||||||
typedef std::map<String, std::pair<int, Mat> > TensorsMap;
|
typedef std::map<String, std::pair<int, Mat> > TensorsMap;
|
||||||
Net net;
|
Net net;
|
||||||
|
|
||||||
THFile *file;
|
cv::Ptr<THFile> file;
|
||||||
std::set<int> readedIndexes;
|
std::set<int> readedIndexes;
|
||||||
std::map<int, Mat> storages;
|
std::map<int, Mat> storages;
|
||||||
std::map<int, Mat> tensors;
|
std::map<int, Mat> tensors;
|
||||||
@ -126,7 +126,7 @@ struct TorchImporter : public ::cv::dnn::Importer
|
|||||||
rootModule = curModule = NULL;
|
rootModule = curModule = NULL;
|
||||||
moduleCounter = 0;
|
moduleCounter = 0;
|
||||||
|
|
||||||
file = THDiskFile_new(filename.c_str(), "r", 0);
|
file = cv::Ptr<THFile>(THDiskFile_new(filename.c_str(), "r", 0), THFile_free);
|
||||||
CV_Assert(file && THFile_isOpened(file));
|
CV_Assert(file && THFile_isOpened(file));
|
||||||
|
|
||||||
if (isBinary)
|
if (isBinary)
|
||||||
@ -976,18 +976,20 @@ struct TorchImporter : public ::cv::dnn::Importer
|
|||||||
{
|
{
|
||||||
CV_TRACE_FUNCTION();
|
CV_TRACE_FUNCTION();
|
||||||
|
|
||||||
if (rootModule == NULL)
|
CV_Assert(rootModule == NULL);
|
||||||
{
|
cv::Ptr<Module> rootModule_ = cv::makePtr<Module>("Sequential");
|
||||||
rootModule = new Module("Sequential");
|
rootModule = rootModule_.get();
|
||||||
curModule = rootModule;
|
curModule = rootModule;
|
||||||
|
|
||||||
THFile_seek(file, 0);
|
THFile_seek(file, 0);
|
||||||
readObject();
|
readObject();
|
||||||
}
|
|
||||||
|
|
||||||
net = net_;
|
net = net_;
|
||||||
std::vector<std::pair<int, Module*> > addedModules;
|
std::vector<std::pair<int, Module*> > addedModules;
|
||||||
fill(rootModule, addedModules);
|
fill(rootModule, addedModules);
|
||||||
|
|
||||||
|
rootModule = NULL;
|
||||||
|
curModule = NULL;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user