rbgirshick / voc-dpm

Object detection system using deformable part models (DPMs) and latent SVM (voc-release5). You may want to use the latest tarball on my website. The github code may include code changes that have not been tested as thoroughly and will not necessarily reproduce the results on the website.
http://www.cs.berkeley.edu/~rbg/latent/
MIT License
577 stars 308 forks source link

Invalid MEX-file 'fv_cache.mexa64': dlopen: cannot load any more object with static TLS #12

Open LinJM opened 8 years ago

LinJM commented 8 years ago

Hello, I want to try voc-realse 5.0, but when I run "pascal('bicycle', 3);", I encounter the following error:

Caching features cluster objective: 6285.721 cluster objective: 6285.721 cluster iter: 23/25 Invalid MEX-file '/home/jeremy/jWork/voc-dpm-master/bin/fv_cache.mexa64': dlopen: cannot load any more object with static TLS

Error in train (line 76) fv_cache('init', max_num, max_dim, max_nbls);

Error in pascal_train (line 71) models{i} = train(models{i}, spos{i}(inds), neg_large, true, true, 1, 1, ...

Error in pascal (line 62) model = pascal_train(cls, n, note);

can someone help me?

zzzhanx commented 8 years ago

Same issue with me. Any solution so far?

jlevis73 commented 8 years ago

I've found a workaround that fixed this error for me. I simply had to add the libraries which fv_cache.mexa64 depended on to my LD_PRELOAD path. You can check it's dependencies with this command

ldd /your/dpm/path/bin/fv_cache.mexa64

And then add any dependencies that are outputted. Example:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libm.so.6

libm.so.6 was just one of the many libraries I had to add, you will probably end up having to add around 8 libararies to the path.

Once I did that, I restarted Matlab and the error no longer persisted.

ElaineJiang commented 8 years ago

I think that error has something to do with the hardware. Because Matlab is always loading libs and son there's no place for any more. When I train my own model using PC, it suffered the same problem as yours. But when I shift to a server, this error doesn't occur anymore.