code: def style_loss(style_end_points, stylized_end_points, style_weights):
      """Style loss.
  
      Args:
        style_end_points: dict mapping VGG16 layer names to their corresponding
            Tensor value for the style input.
        stylized_end_points: dict mapping VGG16 layer names to their corresponding
            Tensor value for the stylized input.
        style_weights: dict mapping layer names to their associated style loss
            weight. Keys that are missing from the dict won't have their style
            loss computed.
  
      Returns:
        Tensor for the total style loss, dict mapping loss names to losses.
      """
      total_style_loss = np.float32(0.0)
      style_loss_dict = {}
  
      for name, weight in style_weights.items():
          loss = tf.reduce_mean(
              (
                  learning_utils.gram_matrix(stylized_end_points[name])
                  - learning_utils.gram_matrix(style_end_points[name])
              )
              ** 2
          )
          weighted_loss = weight * loss
  
          style_loss_dict["style_loss/" + name] = loss
          style_loss_dict["weighted_style_loss/" + name] = weighted_loss
          total_style_loss += weighted_loss
  
      style_loss_dict["total_style_loss"] = total_style_loss
  
      return total_style_loss, style_loss_dict
  
imports: from magenta.models.image_stylization import learning
  from magenta.models.image_stylization import vgg
  import numpy
  import tensorflow.compat.v1
label_desc: Use image node_id 3 for calling a global function with example usage: style_loss(style_end_points, stylized_end_points, style_weights) and returns: total_style_loss,  style_loss_dict