For my Computer Vision course I use vlfeat to perform SIFT and dense SIFT over an image. I perform some data manipulation and then I wish to use libsvm to train an SVM, using the function svmtrain. My problem is that I get an error which states that libsvm is trying to access vl_svmtrain. Is there a problem in a linker somewhere or does libsvm indeed use vlfeat in the background? Or is a component of libsvm's svmtrain indeed called vl_svmtrain?
Asked
Active
Viewed 321 times
1 Answers
1
libsvm is indeed a part of the vlfeat package and depends on it. If you added vlfeat to your path, you should be fine. Are other vlfeat functions working for you?

ezfn
- 173
- 5
-
I do. I use vl_phow, do computations and pass the result into svmtrain. But alright. So it is not an error that it sometimes gives an error and says that vl_svmtrain has a problem, instead of svmtrain? – Cassie Oct 21 '14 at 17:34
-
Look at: "
\toolbox\noprefix\svmtrain.m". You can see that svmtrain calls vl_svmtrain which is a .mex file. Make sure you have the appropriate .mex for that. Something like: " – ezfn Oct 22 '14 at 15:13\toolbox\mex\mexw64\vl_svmtrain.mexw64" which is appropriate for 64bit windows -
I have that. And my vl_feat functions work well. I want to use libsvm's svmtrain instead of the vl_feat's vl_svmtrain. Regardless of whether this is the same. Can I do that? – Cassie Oct 22 '14 at 21:44
-
OK, I see. Matlab only allows removing and adding whole folders from path. A quick and dirty solution for you: Change the file name and function name of "svmtrain" of vlefeat to something like "svmtrainVLFEAT". Now svmtrain of libsvm will be called if it is indeed in the path. – ezfn Oct 23 '14 at 22:22