garydoranjr / misvm

Multiple-Instance Support Vector Machines
BSD 3-Clause "New" or "Revised" License
238 stars 81 forks source link

the example does not run on my machine #11

Closed pf64 closed 5 years ago

pf64 commented 7 years ago

Hi, first of all thank you for the implementation of all these versions of multiple instance learning ! I used conda with python3.6 and I installed the required libraries. However when I executed the file "example.py"

$ python example/example.py

I obtained the following message:

Traceback (most recent call last): File "./example/example.py", line 49, in main() File "./example/example.py", line 40, in main classifier.fit(train_bags, train_labels) File "/home/piero/miniconda3/lib/python3.6/site-packages/misvm-1.0-py3.6.egg/misvm/misssvm.py", line 57, in fit File "/home/piero/miniconda3/lib/python3.6/site-packages/misvm-1.0-py3.6.egg/misvm/util.py", line 61, in getattr File "/home/piero/miniconda3/lib/python3.6/site-packages/numpy/core/shape_base.py", line 237, in vstack return _nx.concatenate([atleast_2d(_m) for _m in tup], 0) ValueError: need at least one array to concatenate

Can you suggest me what is the mistake I made? Thanks Piero

pf64 commented 7 years ago

I am sorry for the characters the pasting made.

garydoranjr commented 7 years ago

Hi @pf64, the code does not fully support Python 3 yet, unfortunately, so I believe that is the problem. I would try pulling the latest version of the repository and using Python 2.6 or 2.7 instead if you can.

pf64 commented 7 years ago

Thanks, it works with 2.7!

pf64 commented 6 years ago

Hi, I tried to use the code on a 64Gb RAM machine using a dataset that is 500Mb and it crashed with the error: File "/home/fariselli/miniconda2/lib/python2.7/site-packages/numpy/core/shape_base.py", line 234, in vstack return _nx.concatenate([atleast_2d(_m) for _m in tup], 0) MemoryError

Is there something I can do for that? Thanks a lot

garydoranjr commented 6 years ago

@pf64 I’m not sure exactly where the error is happening without a full stack trace, but with kernel methods like these there is a O(n^2) memory requirement for the kernel matrix, so I’m not sure it will be possible to handle the full 500 Mb dataset with this library.