code: def expand_boxes(boxes, scale):
      # type: (Tensor, float) -> Tensor
      if torchvision._is_tracing():
          return _onnx_expand_boxes(boxes, scale)
      w_half = (boxes[:, 2] - boxes[:, 0]) * 0.5
      h_half = (boxes[:, 3] - boxes[:, 1]) * 0.5
      x_c = (boxes[:, 2] + boxes[:, 0]) * 0.5
      y_c = (boxes[:, 3] + boxes[:, 1]) * 0.5
  
      w_half *= scale
      h_half *= scale
  
      boxes_exp = torch.zeros_like(boxes)
      boxes_exp[:, 0] = x_c - w_half
      boxes_exp[:, 2] = x_c + w_half
      boxes_exp[:, 1] = y_c - h_half
      boxes_exp[:, 3] = y_c + h_half
      return boxes_exp
  
imports: from typing import Dict, List, Optional, Tuple
  import torch
  import torch.nn.functional
  import torchvision
  from torch import nn, Tensor
  from torchvision.ops import boxes, roi_align
  from .None import _utils
label_desc: Use image node_id 12 for calling a global function with example usage: expand_boxes(boxes, scale) and returns: boxes_exp, _onnx_expand_boxes