padMatrix function

Matrix padMatrix(
  1. Matrix input,
  2. int padding
)

///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

Implementation

// UTILITY FUNCTIONS (No Graph Connection)
////////////////////////////////////////////////////////////////////////////////

// Note: This function doesn't create a computational graph node, so it's fine as is.
Matrix padMatrix(Matrix input, int padding) {
  int newHeight = input.length + 2 * padding;
  int newWidth = input[0].length + 2 * padding;
  Matrix padded = [];
  for (int i = 0; i < newHeight; i++) {
    Vector row = [];
    for (int j = 0; j < newWidth; j++) {
      row.add(0.0);
    }
    padded.add(row);
  }
  for (int i = 0; i < input.length; i++) {
    for (int j = 0; j < input[0].length; j++) {
      padded[i + padding][j + padding] = input[i][j];
    }
  }
  return padded;
}