class_docstr: Elmo-style weighted average representation.
class_docstr_tok: ["Elmo-style","weighted","average","representation","."]
code: def __init__(
      self,
      cfg: Wav2Vec2ClassificationConfig,
      encoder_embed_dim: int,
      num_targets: int,
      encoder_layers: int,
  ):
      super().__init__(cfg, encoder_embed_dim, num_targets)
      self.num_layers = encoder_layers
      self.weights = nn.Parameter(torch.ones(encoder_layers))
  
imports: import contextlib
  import logging
  from argparse import Namespace
  from dataclasses import dataclass, field
  from typing import Any, Optional
  import torch
  import torch.nn
  import torch.nn.functional
  from omegaconf import II, MISSING, open_dict
  from fairseq import checkpoint_utils, tasks, utils
  from fairseq.dataclass import ChoiceEnum, FairseqDataclass
  from fairseq.dataclass.utils import convert_namespace_to_omegaconf
  from fairseq.models import BaseFairseqModel, FairseqEncoder, register_model
  from fairseq.models.wav2vec.wav2vec2 import MASKING_DISTRIBUTION_CHOICES, Wav2Vec2Config
  from fairseq.models.wav2vec.wav2vec2_asr import Embedding, Linear, Wav2VecEncoder, Wav2Vec2AsrConfig
  from fairseq.tasks import FairseqTask
label_desc: Use image node_id 1 to create a new LayerWeightedMeanPooling object from inherited base classes: MeanPoolingFast with example: obj = LayerWeightedMeanPooling(cfg, encoder_embed_dim, num_targets, encoder_layers)