class_docstr: Abstract class defines interface of encoders in flexible unet.
  Encoders in flexible unet must derive from this class. Each interface method
  should return a list containing relative information about a series of networks
  defined by encoder. For example, the efficient-net encoder implement 10 basic
  network structures in one encoder. When calling `get_encoder_name_string_list`
  function, a string list like ["efficientnet-b0", "efficientnet-b1" ... "efficientnet-l2"]
  should be returned.
docstr: Get number of output features' channels.
  The reason that this function should return a list is that a
  series of encoders can be implemented by one encoder class
  given different initialization parameters. And it is possible
  that different encoders have different output feature map
  channels. Therefore a list of output feature map channel tuples
  corresponding to each encoder should be returned by this method.
docstr_tok: ["Get","number","of","output","features","'","channels",".","The","reason","that","this","function","should","return","a","list","is","that","a","series","of","encoders","can","be","implemented","by","one","encoder","class","given","different","initialization","parameters",".","And","it","is","possible","that","different","encoders","have","different","output","feature","map","channels",".","Therefore","a","list","of","output","feature","map","channel","tuples","corresponding","to","each","encoder","should","be","returned","by","this","method","."]
code: def num_channels_per_output(cls) -> list[tuple[int, ...]]:
      """
      Get number of output features' channels.
      The reason that this function should return a list is that a
      series of encoders can be implemented by one encoder class
      given different initialization parameters. And it is possible
      that different encoders have different output feature map
      channels. Therefore a list of output feature map channel tuples
      corresponding to each encoder should be returned by this method.
      """
      raise NotImplementedError
  
imports: from __future__ import annotations
  from abc import ABCMeta, abstractmethod
label_desc: Use image node_id 2 for calling the BaseEncoder obj's underlying member method code with example usage: obj.num_channels_per_output(cls) without return types