input: Write a python function to create a single layer neural network with given input and output dimensions and activation, and return it as a numpy array.
  assert np.all((get_layer(2, 3, 'relu') >= 0))
  assert np.allclose(np.sum(get_layer(2, 3, 'softmax')), 1)
  assert np.all((get_layer(2, 3, 'sigmoid') >= 0) & (get_layer(2, 3, 'sigmoid') <= 1))
output: import numpy as np
  
  def get_layer(input_dim, output_dim, activation):
      np.random.seed(0)  # for reproducibility
      weights = np.random.randn(input_dim, output_dim)
      biases = np.random.randn(output_dim)
      
      def relu(x):
          return np.maximum(0, x)
      
      def sigmoid(x):
          return 1 / (1 + np.exp(-x))
      
      def softmax(x):
          e_x = np.exp(x - np.max(x))
          return e_x / e_x.sum(axis=0)
      
      layer_output = weights.dot(np.ones(input_dim)) + biases
      
      if activation == 'relu':
          return relu(layer_output)
      elif activation == 'sigmoid':
          return sigmoid(layer_output)
      elif activation == 'softmax':
          return softmax(layer_output)
      else:
          raise ValueError("Unsupported activation function")