class_docstr: Asymetric cross-entropy (ACE) Criterion used in
  "New Insights on Reducing Abrupt Representation
  Change in Online Continual Learning"
  by Lucas Caccia et. al.
  https://openreview.net/forum?id=N8MaByOzUfb
code: def __call__(self, out_in, target_in, out_buffer, target_buffer):
      current_classes = torch.unique(target_in)
      loss_buffer = F.cross_entropy(out_buffer, target_buffer)
      oh_target_in = F.one_hot(target_in, num_classes=out_in.shape[1])
      oh_target_in = oh_target_in[:, current_classes]
      loss_current = cross_entropy_with_oh_targets(
          out_in[:, current_classes], oh_target_in
      )
      return (loss_buffer + loss_current) / 2
  
imports: import copy
  from collections import defaultdict
  from typing import List
  import torch
  import torch.nn.functional
  from avalanche.models import MultiTaskModule, avalanche_forward
label_desc: Use image node_id 2 for calling the ACECriterion obj's underlying member method code with example usage: obj.__call__(out_in, target_in, out_buffer, target_buffer) and returns: unknown