Skip to content

SDK Evaluator implementation sample collection

[!NOTE] For the latest implementation status, please refer to Functional Implementation Status (Remaining Functionality).

This file is a compilation of evaluation system (Evaluator) implementation examples for EvoSpikeNet SDK.


1. DefaultEvaluator (standard)```python

from evospikenet.evaluators import BaseEvaluator

class DefaultEvaluator(BaseEvaluator): def init(self, device="cpu"): self.device = device def evaluate_competitive(self, genome1, genome2): # Scored by L2 norm of brain forward ... def evaluate_team(self, team): # Average score for the whole team ...

## 2. CooperativeEvaluator (cooperative type)```python
from evospikenet.evaluators import BaseEvaluator

class CooperativeEvaluator(BaseEvaluator):
    def evaluate_competitive(self, genome1, genome2):
        # Competitive evaluation (e.g. winner determined by total score)
        ...
    def evaluate_team(self, team):
        # Average score for the whole team
        scores = [self._score(g) for g in team]
        mean_score = sum(scores) / len(scores)
        return {"team_score": mean_score, "individual_scores": scores}
    def _score(self, genome):
        # Score calculation using brain forward etc.
        ...

3. CustomEvaluator (external indicators/complex rewards)```python

from evospikenet.evaluators import BaseEvaluator

class CustomEvaluator(BaseEvaluator): def evaluate_competitive(self, genome1, genome2): # Use external APIs and complex reward functions ... def evaluate_team(self, team): # Unique evaluation logic ... ```


Each Evaluator inherits BaseEvaluator and can be freely expanded according to the purpose.