On Thu, Jan 12, 2012 at 11:22:18PM +0100, Jakub Wilk wrote: > pymvpa FTBFS: > | ====================================================================== > | ERROR: testRegressionsClassifiers (mvpa.tests.test_regr.RegressionsTests) > | ---------------------------------------------------------------------- > | Traceback (most recent call last): > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/tests/tests_warehouse.py", > line 72, in do_sweep > | method(*args_, **kwargs_) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/tests/test_regr.py", > line 111, in testRegressionsClassifiers > | cverror = cv(ds) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/measures/base.py", > line 105, in __call__ > | result = self._call(dataset) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/algorithms/cvtranserror.py", > line 190, in _call > | result = transerror(split[1], split[0]) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/clfs/transerror.py", > line 1309, in __call__ > | self._precall(testdataset, trainingdataset) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/clfs/transerror.py", > line 1265, in _precall > | self.__clf.train(trainingdataset) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/clfs/base.py", > line 394, in train > | result = self._train(dataset) > | File > "/build/pymvpa-ZxRJAY/pymvpa-0.4.7/build/lib.linux-i686-2.7/mvpa/clfs/sg/svm.py", > line 468, in _train > | trained_labels = self.__svm.classify().get_labels() > | File "/usr/lib/python2.7/dist-packages/modshogun.py", line 48833, in > <lambda> > | __getattr__ = lambda self, name: _swig_getattr(self, LibSVR, name) > | File "/usr/lib/python2.7/dist-packages/modshogun.py", line 59, in > _swig_getattr > | raise AttributeError(name) > | AttributeError: classify
This was due to an API change in shogun 1.0.0. From src/ChangeLog: rename classify / classify_example to more generic apply() - to be used in all machines. adjust examples accordingly. Here's a patch to handle both the old and the new API. * Adjust for API change in Shogun 1.0.0 (closes: #655643). diff -Nru pymvpa-0.4.7/debian/patches/series pymvpa-0.4.7/debian/patches/series --- pymvpa-0.4.7/debian/patches/series 2011-04-13 16:02:10.000000000 +0100 +++ pymvpa-0.4.7/debian/patches/series 2012-04-20 17:00:26.000000000 +0100 @@ -1 +1,2 @@ debian-changes-0.4.7-2 +shogun-1.0.0.patch diff -Nru pymvpa-0.4.7/debian/patches/shogun-1.0.0.patch pymvpa-0.4.7/debian/patches/shogun-1.0.0.patch --- pymvpa-0.4.7/debian/patches/shogun-1.0.0.patch 1970-01-01 01:00:00.000000000 +0100 +++ pymvpa-0.4.7/debian/patches/shogun-1.0.0.patch 2012-04-20 17:13:31.000000000 +0100 @@ -0,0 +1,39 @@ +Description: Adjust for API change in Shogun 1.0.0 +Author: Colin Watson <cjwat...@ubuntu.com> +Bug-Debian: http://bugs.debian.org/655643 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/935383 +Forwarded: no +Last-Update: 2012-04-20 + +Index: b/mvpa/clfs/sg/svm.py +=================================================================== +--- a/mvpa/clfs/sg/svm.py ++++ b/mvpa/clfs/sg/svm.py +@@ -465,7 +465,12 @@ + # Report on training + if (__debug__ and 'SG__' in debug.active) or \ + self.states.isEnabled('training_confusion'): +- trained_labels = self.__svm.classify().get_labels() ++ try: ++ # Shogun >= 1.0.0 ++ trained_labels = self.__svm.apply().get_labels() ++ except AttributeError: ++ # Shogun < 1.0.0 ++ trained_labels = self.__svm.classify().get_labels() + else: + trained_labels = None + +@@ -541,7 +546,12 @@ + + # doesn't do any good imho although on unittests helps tiny bit... hm + #self.__svm.init_kernel_optimization() +- values_ = self.__svm.classify() ++ try: ++ # Shogun >= 1.0.0 ++ values_ = self.__svm.apply() ++ except AttributeError: ++ # Shogun < 1.0.0 ++ values_ = self.__svm.classify() + if values_ is None: + raise RuntimeError, "We got empty list of values from %s" % self + Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org