class_docstr: Builds modules of a wav2vec 2.0 encoder as described in
  :cite:t:`https://doi.org/10.48550/arxiv.2006.11477`.
  
  To tweak the architecture, you can derive from this class and override the
  corresponding methods.
code: def build_sdpa(self) -> SDPA:
      sdpa = create_default_sdpa(
          attn_dropout_p=self.config.attn_dropout_p
      )
  
      if self.config.pos_encoder_type == "relative":
          if self.rel_pos_encoding is None:
              self.rel_pos_encoding = RelativePositionalEncoding(
                  self.config.model_dim,
                  self.config.max_seq_len,
                  device=self.device,
                  dtype=self.dtype,
              )
  
          sdpa = RelativePositionSDPA(
              self.config.model_dim,
              self.config.num_encoder_attn_heads,
              self.rel_pos_encoding,
              inner_sdpa=sdpa,
              device=self.device,
              dtype=self.dtype,
          )
  
      return sdpa
  
imports: from dataclasses import dataclass
  from typing import List, Optional, Tuple
  from torch.nn import GELU, SiLU
  from fairseq2.models.conformer import ConformerBlock, ConformerConvolution
  from fairseq2.models.feature_extractor import SequenceFeatureExtractor
  from fairseq2.models.utils import ArchitectureRegistry
  from fairseq2.models.wav2vec2.feature_extractor import Wav2Vec2FbankFeatureExtractor, Wav2Vec2FeatureExtractor
  from fairseq2.models.wav2vec2.frontend import Wav2Vec2Frontend
  from fairseq2.models.wav2vec2.masker import Wav2Vec2Masker
  from fairseq2.models.wav2vec2.model import Wav2Vec2Model
  from fairseq2.models.wav2vec2.position_encoder import Wav2Vec2PositionEncoder, Wav2Vec2StackedPositionEncoder
  from fairseq2.models.wav2vec2.vector_quantizer import GumbelVectorQuantizer, VectorQuantizer
  from fairseq2.nn.position_encoder import PositionEncoder, RotaryEncoder
  from fairseq2.nn.transformer import SDPA, FeedForwardNetwork, MultiheadAttention, RelativePositionalEncoding, RelativePositionSDPA, StandardFeedForwardNetwork, StandardMultiheadAttention, StandardTransformerEncoder, StandardTransformerEncoderLayer, TransformerEncoder, TransformerEncoderLayer, TransformerNormOrder, create_default_sdpa
  from fairseq2.typing import DataType, Device
label_desc: Use image node_id 9 for calling the Wav2Vec2EncoderBuilder obj's underlying member method code with example usage: obj.build_sdpa() and returns: sdpa