Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

内存问题 #44

Open
Qvodman opened this issue Mar 5, 2018 · 6 comments
Open

内存问题 #44

Qvodman opened this issue Mar 5, 2018 · 6 comments

Comments

@Qvodman
Copy link

Qvodman commented Mar 5, 2018

初始化一个CaffeMobile实例进行提特征时内存占用大概250MB左右,为了提高效率初始化两个CaffeMobile实例在两个子线程中同时提取两张图片特征时,内存瞬间飙到好几个G,小米MIX2有6G多可用内存都直接崩溃掉,请问是什么情况?

@solrex
Copy link
Owner

solrex commented Mar 5, 2018

@Qvodman 这种情况下先检查你的网络配置是不是有问题。比如是不是没有去掉一些训练用的层,或者多余的数据维度(mini batch要改为单条)。

@Qvodman
Copy link
Author

Qvodman commented Mar 6, 2018

@solrex 使用两个实例同时提特征时报了这个错误:
ERROR /home/liaolp/caffe-mobile/src/caffe/blob.cpp:34] (shape[i]) <= (0x7fffffff / count_) blob size exceeds INT_MAX

@solrex
Copy link
Owner

solrex commented Mar 6, 2018

@Qvodman 我在 JNI 里实现的 CaffeMobile 是一个单例,其实不支持多线程的,不知道你注意到没有?

这个错误本身看起来是网络配置有问题,某一层的维度太多导致超过限制。但我不确定跟你多线程使用有关还是跟你配置有关。

因为神经网络经常能把 CPU 跑满,或者把 CPU 跑到降频,所以多线程能不能解决问题我也比较怀疑。

@Qvodman
Copy link
Author

Qvodman commented Mar 6, 2018

@solrex 因为看到CaffeMobile 是一个单例,一个实例跑在骁龙835的机子上提特征CPU只占了百分之十几,所以才想着创建多实例去提特征,这个网络配置在PC上是可以多个实例同时跑的

@solrex
Copy link
Owner

solrex commented Mar 7, 2018

@Qvodman 从你的描述来看,我只能判断出可能是网络配置有问题。但是信息实在不足以进一步判断了,你可以在 C++ 代码里再多加一些日志语句来看看,CaffeMobile 的 C++ 代码是适配到 Android logcat 的,只是需要你自己去猜测哪里可能出问题了。

@Qvodman
Copy link
Author

Qvodman commented Mar 13, 2018

@solrex 已将CaffeMobile 的 C++ 代码中单例去掉,现可同时加载多个实例,但最多只能两个实例同时提特征,三个的话软件就会崩溃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants