这两天有兴致装了下caffe。感受下这个框架。
可是在这个过程中遇到非常多问题。我把碰到的问题和解决方式写下,便于后人高速上手。
compute_image_mean.exe 编译出来后。运行数据变换时。出现下图的情况。
随后。迅速到网上查找相关信息。
看到了以下这篇博客。关于leveldb 的
http://blog.csdn.net/cywosp/article/details/20746879
里面有段话是这么说的:
在1.15版本号中。假设使用NewIterator函数创建了leveldb::Iterator对象而没有delete该对象的话。在程序退出时将会报出例如以下错误:
db/version_set.cc:806: leveldb::VersionSet::~VersionSet(): Assertion `dummy_versions_.next_ == &dummy_versions_' failed.
依据代码分析。这里assert失败的原因主要是为了防止内存泄露。
然后,就打开编译的源代码(在/tools/compute_image_mean.cpp里面)
依据博客的提示,我就在创建lterator后进行delete。大概在源码的第70行左右的位置。
++count; if (count % 10000 == 0) { LOG(ERROR) << "Processed " << count << " files."; } } delete it; if (count % 10000 != 0) { LOG(ERROR) << "Processed " << count << " files."; } for (int i = 0; i < sum_blob.data_size(); ++i) { sum_blob.set_data(i, sum_blob.data(i) / count); }
改动后再编译,然后就能够顺利跑通了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于caffe-windows中 compute_image_mean.exe出现的问题 - Python技术站