Xtra-Computing / thundersvm

ThunderSVM: A Fast SVM Library on GPUs and CPUs
Apache License 2.0
1.55k stars 215 forks source link

(eps)Regression with cross-validation fails on last set #206

Open kellmnop opened 4 years ago

kellmnop commented 4 years ago

Often when running eps-SVR with cross-validation, the final fold fails with a similar error:

INFO [default] working set size = 0
FATAL [default] Check failed: [((data)) != nullptr]
WARNING [default] Aborting application. Reason: Fatal log at [.../thundersvm/src/thundersvm/syncmem.cpp:123]

One example is the scaled triazines dataset available from the libsvm site. thundersvm-train -s 3 -t 0 -c 100 -v 5 triazines.scale svm.model fails with this error. svm-train from libsvm does not using the same parameters and data. I've tried this on Ubuntu 18.04 with a Maxwell Titan X, cuda 10.2, and Red Hat 7.7 with a 2080Ti and cuda 10.0. It appears to be dataset specific.

kellmnop commented 4 years ago

Additionally, when compiled with -DUSE_CUDA=OFF, cross validation also fails in these instances for the same reason (last working set size = 0).

zeyiwen commented 4 years ago

Sorry for the delay. Our team is rather busy recently, due to proposal and paper deadlines along with the teaching load. We will get back to this issue as soon as we can.

Could you be able to try if the problem exists in SVC? This will help us narrow down the scope.

kellmnop commented 4 years ago

I tried SVC on a number of datasets hosted on the libsvm site, none of them failed with cross validation using linear/RBF eSVC via GPU-enabled thundersvm.