def __init__(self, in_features, num_classes=0):
        """
        :param in_features: Number of input features
        :param num_classes: Number of initial classes (default=0)
                            If set to more than 0, the initial logits
                            will be mapped to the corresponding sequence of
                            classes starting from 0.
        """
        super().__init__()
        self.class_order = []
        self.classes = set()

        if num_classes == 0:
            self.fc = None
        else:
            self.fc = CosineLinear(in_features, num_classes, sigma=True)
            for i in range(num_classes):
                self.class_order.append(i)
            self.classes = set(range(5))

        self.feature_dim = in_features

        :param in_features: Number of input features
        :param num_classes: Number of initial classes (default=0)
                            If set to more than 0, the initial logits
                            will be mapped to the corresponding sequence of
                            classes starting from 0.
        
avalanche/models/cosine_layer.py