def __init__(self, classes=None, mask="seen", reduction="mean"):
        """
        param: classes: Initial value for current classes
        param: mask: "all" normal cross entropy, uses all the classes seen so far
                     "old" cross entropy only on the old classes
                     "new" cross entropy only on the new classes
        param: reduction: "mean" or "none", average or per-sample loss
        """
        super().__init__()
        assert mask in ["seen", "new", "old", "all"]
        if classes is not None:
            self.current_classes = set(classes)
        else:
            self.current_classes = set()

        self.old_classes = set()
        self.reduction = reduction
        self.mask = mask

        param: classes: Initial value for current classes
        param: mask: "all" normal cross entropy, uses all the classes seen so far
                     "old" cross entropy only on the old classes
                     "new" cross entropy only on the new classes
        param: reduction: "mean" or "none", average or per-sample loss
        
avalanche/training/losses.py