Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Training for classification using libsvm

I want to classify using libsvm. I have 9 training sets, each set has 144000 labelled instances, each instance having a variable number of features. It is taking about 12 hours to train one set ( ./svm-train with probability estimates ).

As I don't have much time, I would like to run more than one set at a time. I'm not sure if I can do this. Can I run all 9 processes simultaneously in different terminals?

./svm-train -b 1 feat1.txt
./svm-train -b 1 feat2.txt
      .
      .
      .
./svm-train -b 1 feat9.txt

( I'm using Fedora Core 5 ).

like image 662
trinity Avatar asked Jan 27 '26 20:01

trinity


2 Answers

You can tell libsvm to use openmp for parallelization. Look at this libsvm faq entry: http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f432

like image 162
Louis Marascio Avatar answered Jan 29 '26 11:01

Louis Marascio


As Adam said, it depends on how many cores and processors your system has available. If that's insufficient, why not spin up a few EC2 instances to run on?

The Infochimps MachetEC2 public AMI comes with most of the tools you'll need: http://blog.infochimps.org/2009/02/06/start-hacking-machetec2-released/

like image 26
hmason Avatar answered Jan 29 '26 12:01

hmason



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!