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