code: def make_embedding(input_dim: int, hidden_dim: int) -> nn.Module:
      """
      Constructs and returns an embedding layer, which is a simple (dense) linear layer
  
      Args:
          input_dim: input dimensions (input to linear layer)
          hidden_dim: output size of the linear layer
  
      Returns:
          a linear nn.Module, initialized with random uniform weights and biases
      """
      scale = 1 / input_dim**0.5
      linear = torch.nn.Linear(input_dim, hidden_dim, bias=True)
      # initialise weights in the same was as vct
      torch.nn.init.uniform_(linear.weight, -scale, scale)
      torch.nn.init.uniform_(linear.bias, -scale, scale)
      return linear
  
imports: from typing import Optional, Tuple
  import torch
  import torch.nn
  from torch import Tensor
label_desc: Use image node_id 3 for calling a global function with example usage: make_embedding(input_dim, hidden_dim) and returns: linear