<div dir="ltr">Hi,<div><br></div><div>could you please show the code that assembles the dataset? Also, the output of</div><div><br></div><div>print ds.summary()</div><div><br></div><div>could help to find the problem.</div><div><br></div><div>Michael</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 24, 2014 at 4:35 PM, Thomas Nickson <span dir="ltr"><<a href="mailto:thomas.nickson@gmail.com" target="_blank">thomas.nickson@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hey All, <br><br>I'm using some structural data, 133 subjects with a
size of about 350 meg, on a machine with 32gig of ram. I'm trying to
set up a basic algorithm to make sure that everything works okay. I have
chosen ridge regression and I'm attempting to use a HalfPartitioner and
I'm running all of the code from ipython notebook.<br><br>Â from mvpa2.clfs.ridge import RidgeReg<br>Â a = HalfPartitioner(attr='runtype')<br>Â clf = RidgeReg()<br>Â cv = CrossValidation(clf, a)<br>Â cv_results = cv(ds) <br><br></div>However, I get the following memory error, even when I use a very minimal subset such as 2 subjects.<br><br><pre><span>---------------------------------------------------------------------------</span>
<span>MemoryError</span> Traceback (most recent call last)
<span><ipython-input-205-fafb290e8469></span> in <span><module></span><span>()</span>
<span>----> 1</span><span> </span>cv_results <span>=</span> cv<span>(</span>ds<span>)</span><span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/base/learner.pyc</span> in <span>__call__</span><span>(self, ds)</span>
<span> 257</span> <span>"used and auto training is disabled."</span><span></span>
<span> 258</span> % str(self))
<span>--> 259</span><span> </span><span>return</span> super<span>(</span>Learner<span>,</span> self<span>)</span><span>.</span>__call__<span>(</span>ds<span>)</span><span></span>
<span> 260</span> <span></span>
<span> 261</span> <span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/base/node.pyc</span> in <span>__call__</span><span>(self, ds)</span>
<span> 119</span> <span></span>
<span> 120</span> self<span>.</span>_precall<span>(</span>ds<span>)</span><span></span>
<span>--> 121</span><span> </span>result <span>=</span> self<span>.</span>_call<span>(</span>ds<span>)</span><span></span>
<span> 122</span> result <span>=</span> self<span>.</span>_postcall<span>(</span>ds<span>,</span> result<span>)</span><span></span>
<span> 123</span> <span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/measures/base.pyc</span> in <span>_call</span><span>(self, ds)</span>
<span> 495</span> <span># always untrain to wipe out previous stats</span><span></span><span></span>
<span> 496</span> self<span>.</span>untrain<span>(</span><span>)</span><span></span>
<span>--> 497</span><span> </span><span>return</span> super<span>(</span>CrossValidation<span>,</span> self<span>)</span><span>.</span>_call<span>(</span>ds<span>)</span><span></span>
<span> 498</span> <span></span>
<span> 499</span> <span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/measures/base.pyc</span> in <span>_call</span><span>(self, ds)</span>
<span> 324</span> ca<span>.</span>datasets<span>.</span>append<span>(</span>sds<span>)</span><span></span>
<span> 325</span> <span># run the beast</span><span></span><span></span>
<span>--> 326</span><span> </span>result <span>=</span> node<span>(</span>sds<span>)</span><span></span>
<span> 327</span> <span># callback</span><span></span><span></span>
<span> 328</span> <span>if</span> <span>not</span> self<span>.</span>_callback <span>is</span> None<span>:</span><span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/base/learner.pyc</span> in <span>__call__</span><span>(self, ds)</span>
<span> 257</span> <span>"used and auto training is disabled."</span><span></span>
<span> 258</span> % str(self))
<span>--> 259</span><span> </span><span>return</span> super<span>(</span>Learner<span>,</span> self<span>)</span><span>.</span>__call__<span>(</span>ds<span>)</span><span></span>
<span> 260</span> <span></span>
<span> 261</span> <span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/base/node.pyc</span> in <span>__call__</span><span>(self, ds)</span>
<span> 119</span> <span></span>
<span> 120</span> self<span>.</span>_precall<span>(</span>ds<span>)</span><span></span>
<span>--> 121</span><span> </span>result <span>=</span> self<span>.</span>_call<span>(</span>ds<span>)</span><span></span>
<span> 122</span> result <span>=</span> self<span>.</span>_postcall<span>(</span>ds<span>,</span> result<span>)</span><span></span>
<span> 123</span> <span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/measures/base.pyc</span> in <span>_call</span><span>(self, ds)</span>
<span> 598</span> for i in dstrain.get_attr(splitter.get_space())[0].unique])
<span> 599</span> <span># ask splitter for first part</span><span></span><span></span>
<span>--> 600</span><span> </span>measure<span>.</span>train<span>(</span>dstrain<span>)</span><span></span>
<span> 601</span> <span># cleanup to free memory</span><span></span><span></span>
<span> 602</span> <span>del</span> dstrain<span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/base/learner.pyc</span> in <span>train</span><span>(self, ds)</span>
<span> 130</span> <span># things might have happened during pretraining</span><span></span><span></span>
<span> 131</span> <span>if</span> ds<span>.</span>nfeatures <span>></span> <span>0</span><span>:</span><span></span>
<span>--> 132</span><span> </span>result <span>=</span> self<span>.</span>_train<span>(</span>ds<span>)</span><span></span>
<span> 133</span> <span>else</span><span>:</span><span></span>
<span> 134</span> warning<span>(</span><span>"Trying to train on dataset with no features present"</span><span>)</span><span></span>
<span>/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/clfs/ridge.pyc</span> in <span>_train</span><span>(self, data)</span>
<span> 76</span> <span>if</span> self<span>.</span>__lm <span>is</span> None<span>:</span><span></span>
<span> 77</span> <span># Not specified, so calculate based on .05*nfeatures</span><span></span><span></span>
<span>---> 78</span><span> </span>Lambda <span>=</span> <span>.05</span><span>*</span>data<span>.</span>nfeatures<span>*</span>np<span>.</span>eye<span>(</span>data<span>.</span>nfeatures<span>)</span><span></span>
<span> 79</span> <span>else</span><span>:</span><span></span>
<span> 80</span> <span># use the provided penalty</span><span></span><span></span>
<span>/usr/lib64/python2.6/site-packages/numpy/lib/twodim_base.pyc</span> in <span>eye</span><span>(N, M, k, dtype)</span>
<span> 208</span> <span>if</span> M <span>is</span> None<span>:</span><span></span>
<span> 209</span> M <span>=</span> N<span></span>
<span>--> 210</span><span> </span>m <span>=</span> zeros<span>(</span><span>(</span>N<span>,</span> M<span>)</span><span>,</span> dtype<span>=</span>dtype<span>)</span><span></span>
<span> 211</span> <span>if</span> k <span>>=</span> M<span>:</span><span></span>
<span> 212</span> <span>return</span> m<span></span>
<span>MemoryError</span>: <br><br><br></pre><pre>Surely, this can't really be because I'm out of memory can it? The 32gig machine should be <br></pre><pre>more than able to load the a small portion of the 350 meg dataset.<br><br></pre><pre>Is there something I'm missing or have I configured something wrongly?<br><br></pre><pre>Also, I'm not really sure how the halfpartitioner works. Does it just generate the complement <br></pre><pre>of the sets I determine or can it split the dataset in two for me based on the <br></pre><pre>groups? If that's possible, how can I do that?<br><br></pre><pre>Thanks,<br><br>Tom </pre></div>
<br>_______________________________________________<br>
Pkg-ExpPsy-PyMVPA mailing list<br>
<a href="mailto:Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org">Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa" target="_blank">http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Michael Hanke</div><div><a href="http://mih.voxindeserto.de" target="_blank">http://mih.voxindeserto.de</a></div><div><div><br></div></div></div></div>
</div>