title: With CRF++, MIRA works for me but CRF-L1 and CRF-L2 do not
body: <p>It may not matter, but I am using the windows distribution of CRF++ 0.58.</p>
  
  <p>So I have successfully used mallet to train a model with a CRF and then test it.  When I try to use the same train and test files with CRF++ (and after creating a template file), I get a</p>
  
  <pre><code>The line search routine mcsrch failed: error code:0
  </code></pre>
  
  <p>error when I use either</p>
  
  <pre><code>-a CRF-L1
  </code></pre>
  
  <p>or the default</p>
  
  <pre><code>-a CRF-L2
  </code></pre>
  
  <p>When I use</p>
  
  <pre><code>-a MIRA
  </code></pre>
  
  <p>though, training works without error and same with test.</p>
  
  <p>The format of the test and training data can be the same for both mallet and crf++, so that is not the issue.  My template file is as simple as</p>
  
  <pre><code>#Mixed
  M00:%x[0,0]
  M01:%x[0,1]
  M02:%x[0,2]
  ......
  M12:%x[0,12]
  </code></pre>
  
  <p>My last column is either 0 or 1 in my training data which is the value to classify with. No whitespace in any of my features, I use underscores when necessary.  Am I missing something simple here, what would cause the L1 and L2 regularizations to fail like that?</p>