title: Multiprocessing with Python and instance methods
body: <p>I'm using <code>scikit-learn</code> to train a <code>KernelDensity</code> with some "advanced" parameters. When evaluating <code>score_samples</code> after an initial fit, the processing takes a long time, and having multiple cores available I was hoping to get some speed improvements. <code>score_samples</code> (taking any length of a sample vector) should be simple to parallelize.</p>
  
  <p>Until now, I tried <code>multiprocessing</code> to get things working. If I run my script (I'm using <code>Pool.map()</code>) I get the error that an instance method is not pickleable.</p>
  
  <p>This is quite obvious, but using sklearn and relying heavily on instance methods, I can't change this behavoiur.</p>
  
  <p>Is there any way to have any sort of multiprocessing that works with sklearn (and instance methods)? I don't mind if python copies the entire memory belonging to the main process (that's manageable) or if I need to submit each block to <code>score_samples</code> from a master program (not elegant, but would do the job).</p>
  
  <p>Any suggestions where I should look?</p>