Tensorflow C 内存泄漏 - valgrind
Tensorflow c++ memory leak - Valgrind
我正在执行简单的TensorFlow代码以创建图形def,如图所示
tensorflow::NewSession (options, &session)
ReadBinaryProto (tensorflow::Env::Default(), "/home/ashok/eclipseWorkspace/faceRecognition-x86_64/Data/models/optimized_facenet.pb", &graph_def));
session->Create (graph_def);
但是,当我运行valgrind时,如下所示
valgrind --leak-check=full --show-leak-kinds=all --vex-guest-max-insns=25 ./faceRecognition-x86_64 -r -i
我低于错误
==12366== 16,000 bytes in 1 blocks are still reachable in loss record 47,782 of 47,905
==12366== at 0x4C2E19F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==12366== by 0xBF875DC: std::vector<tensorflow::CostModel::MemUsage, std::allocator<tensorflow::CostModel::MemUsage> >::reserve(unsigned long) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0xBF90128: tensorflow::CostModel::InitFromGraph(tensorflow::Graph const&) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0xBEE48D3: tensorflow::SimpleGraphExecutionState::InitBaseGraph(tensorflow::BuildGraphOptions const&) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0xBEE52CF: tensorflow::SimpleGraphExecutionState::MakeForBaseGraph(tensorflow::GraphDef*, tensorflow::SimpleGraphExecutionStateOptions const&, std::unique_ptr<tensorflow::SimpleGraphExecutionState, std::default_delete<tensorflow::SimpleGraphExecutionState> >*) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0xBE68B9D: tensorflow::DirectSession::MaybeInitializeExecutionState(tensorflow::GraphDef const&, bool*) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0xBE68CF9: tensorflow::DirectSession::ExtendLocked(tensorflow::GraphDef const&) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0xBE68FC7: tensorflow::DirectSession::Create(tensorflow::GraphDef const&) (in /usr/lib/libtensorflow_cc.so)
==12366== by 0x26B899: TensorFlow::initializeRecognition() (in /home/ashok/eclipseWorkspace/faceRecognition-x86_64/Debug/faceRecognition-x86_64)
==12366== by 0x24197D: RecognitionWithImages::RecognitionWithImages() (in /home/ashok/eclipseWorkspace/faceRecognition-x86_64/Debug/faceRecognition-x86_64)
==12366== by 0x12F27C: main (in /home/ashok/eclipseWorkspace/faceRecognition-x86_64/Debug/faceRecognition-x86_64)
当我做 session-> run()
时,也会生成这些类型的错误由于上述问题,运行程序所需的内存会随着时间的流逝而不断增加,并且由于在某个时间点之后内存不足而导致的应用程序崩溃
您是否关闭了会话?您还需要删除会话指针。
session->Close();
delete session;
相关文章:
- valgrind-hellgrind与泄漏检查的结果不同
- Valgrind 在 QThread::start() 上报告内存泄漏
- 使用 valgrind 检查我的链表暗示中的内存泄漏,让我"肯定丢失:1 个块中有 40 个字节"
- Valgrind 在 std::make_unique 中显示内存泄漏
- 使用Valgrind时内存泄漏消失
- 如何通过Valgrind找到QThreads程序中的内存泄漏在哪里?
- C++中的动态数组:Valgrind泄漏
- 为什么 Valgrind 在此实现中报告内存泄漏?
- 为什么使用 make_unique<> 将函数传递给线程会导致 Valgrind 中的内存泄漏?
- 客户端代码中的 Valgrind 钩子:特定函数的内存泄漏
- Valgrind 错误和内存泄漏与 Python/C API
- 如何修复 poco Poco::Net::TCPServerParams() valgrind 明确的泄漏
- 如何使用 Valgrind 确定内存泄漏"still-available"来源?
- Valgrind检测到OpenGL内存泄漏
- Valgrind和Qemu-无法检测到内存泄漏
- Tensorflow C 内存泄漏 - valgrind
- 如何修复Valgrind报告的C 数组驱动器中的内存泄漏
- 带有Valgrind的C 的向量分配中的内存泄漏
- 用valgrind分析c++字符内存泄漏
- Valgrind 在主机名命令输出中显示内存泄漏