/usr/share/pyshared/mdp/parallel/parallelclassifiers.py is in python-mdp 3.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | """
Module for MDP classifiers that support parallel training.
"""
import mdp
from mdp import numx
from mdp.parallel import ParallelExtensionNode
class ParallelGaussianClassifier(ParallelExtensionNode,
mdp.nodes.GaussianClassifier):
def _fork(self):
return self._default_fork()
def _join(self, forked_node):
if not self._cov_objs:
self.set_dtype(forked_node._dtype)
self._cov_objs = forked_node._cov_objs
else:
for key, forked_cov in forked_node._cov_objs.items():
if key in self._cov_objs:
self._join_covariance(self._cov_objs[key], forked_cov)
else:
self._cov_objs[key] = forked_cov
class ParallelNearestMeanClassifier(ParallelExtensionNode,
mdp.nodes.NearestMeanClassifier):
def _fork(self):
return self._default_fork()
def _join(self, forked_node):
for key in forked_node.label_means:
if key in self.label_means:
self.label_means[key] += forked_node.label_means[key]
self.n_label_samples[key] += forked_node.n_label_samples[key]
else:
self.label_means[key] = forked_node.label_means[key]
self.n_label_samples[key] = forked_node.n_label_samples[key]
class ParallelKNNClassifier(ParallelExtensionNode,
mdp.nodes.KNNClassifier):
def _fork(self):
return self._default_fork()
def _join(self, forked_node):
for key in forked_node._label_samples:
if key in self._label_samples:
self._label_samples[key] += forked_node._label_samples[key]
else:
self._label_samples[key] = forked_node._label_samples[key]
|