class_docstr: Variance Adaptor with an added 1D conv layer. Used to
  get energy embeddings.
  
  Args:
      channels_in (int): Number of in channels for conv layers.
      channels_out (int): Number of out channels.
      kernel_size (int): Size the kernel for the conv layers.
      dropout (float): Probability of dropout.
      lrelu_slope (float): Slope for the leaky relu.
      emb_kernel_size (int): Size the kernel for the pitch embedding.
  
  Inputs: inputs, mask
      - **inputs** (batch, time1, dim): Tensor containing input vector
      - **target** (batch, 1, time2): Tensor containing the energy target
      - **dr** (batch, time1): Tensor containing aligner durations vector
      - **mask** (batch, time1): Tensor containing indices to be masked
  Returns:
      - **energy prediction** (batch, 1, time1): Tensor produced by energy predictor
      - **energy embedding** (batch, channels, time1): Tensor produced energy adaptor
      - **average energy target(train only)** (batch, 1, time1): Tensor produced after averaging over durations
code: def __init__(
      self,
      channels_in: int,
      channels_hidden: int,
      channels_out: int,
      kernel_size: int,
      dropout: float,
      lrelu_slope: float,
      emb_kernel_size: int,
  ):
      super().__init__()
      self.energy_predictor = VariancePredictor(
          channels_in=channels_in,
          channels=channels_hidden,
          channels_out=channels_out,
          kernel_size=kernel_size,
          p_dropout=dropout,
          lrelu_slope=lrelu_slope,
      )
      self.energy_emb = nn.Conv1d(
          1,
          channels_hidden,
          kernel_size=emb_kernel_size,
          padding=int((emb_kernel_size - 1) / 2),
      )
  
file_path: TTS/TTS/tts/layers/delightful_tts/energy_adaptor.py
imports: from typing import Callable, Tuple
  import torch
  import torch.nn
  from TTS.tts.layers.delightful_tts.variance_predictor import VariancePredictor
  from TTS.tts.utils.helpers import average_over_durations
label_desc: Use image node_id 1 to create a new EnergyAdaptor object from inherited base classes: nn with example: obj = EnergyAdaptor(channels_in, channels_hidden, channels_out, kernel_size, dropout, lrelu_slope, emb_kernel_size)