关于caffe-windows中 compute_image_mean.exe出现的问题
2015-06-29 10:46
381 查看
这两天有兴致装了下caffe,感受下这个框架。
但是在这个过程中遇到很多问题,我把碰到的问题和解决方案写下,便于后人快速上手。
compute_image_mean.exe 编译出来后,执行数据变换时,出现下图的情况。
随后,迅速到网上查找相关信息。
看到了下面这篇博客,关于leveldb 的
/article/7618627.html
里面有段话是这么说的:
在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行左右的位置。
修改后再编译,然后就可以顺利跑通了。
但是在这个过程中遇到很多问题,我把碰到的问题和解决方案写下,便于后人快速上手。
compute_image_mean.exe 编译出来后,执行数据变换时,出现下图的情况。
随后,迅速到网上查找相关信息。
看到了下面这篇博客,关于leveldb 的
/article/7618627.html
里面有段话是这么说的:
在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); }
修改后再编译,然后就可以顺利跑通了。
相关文章推荐
- doT js模板入门 2
- ReactiveCocoa学习
- js中substring和substr的用法
- 如何用javascript设置延时执行
- JavaScript中,字符串和二进制互转
- [LeetCode] Remove Nth Node From End of List 移除链表倒数第N个节点
- JavaScript模拟实现键盘打字效果
- 使用jTopo给Html5 Canva中绘制的元素添加鼠标事件_html5教程技巧
- css div内容水平,垂直居中限制
- 那些不为人知的CSS3
- jQuery注意事项及技巧
- 使用jTopo给Html5 Canva中绘制的元素添加鼠标事件_html5教程技巧
- JavaScript实现把数字转换成中文
- Web前端从入门到精通-3 html简介
- 使用jTopo给Html5 Canva中绘制的元素添加鼠标事件_html5教程技巧
- 网页引导:jQuery插件实现的页面功能介绍引导页效果
- 剑指offer:二维数组中的查找(数组)
- [简单]poi word2007表格按模版样式填充行数据
- 剑指offer:跳台阶(循环和递归)
- JSON序列化为实体对象