code: def kronecker_product(mat1, mat2):
      """Computes the Kronecker product of two matrices mat1 and mat2.
  
      Args:
        mat1: A matrix of size m x n
        mat2: A matrix of size p x q
  
      Returns:
        Kronecker product of matrices mat1 and mat2 of size mp x nq
      """
  
      m1, n1 = mat1.get_shape().as_list()
      mat1_rsh = tf.reshape(mat1, [m1, 1, n1, 1])
      m2, n2 = mat2.get_shape().as_list()
      mat2_rsh = tf.reshape(mat2, [1, m2, 1, n2])
      return tf.reshape(mat1_rsh * mat2_rsh, [m1 * m2, n1 * n2])
  
file_path: model-optimization/tensorflow_model_optimization/python/core/sparsity/keras/pruning_utils.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import tensorflow
label_desc: Use image node_id 1 for calling a global function with example usage: kronecker_product(mat1, mat2) and returns: tf