code: def trunc_normal_(tensor, mean=0.0, std=1.0, a=-2.0, b=2.0):
      # type: (torch.Tensor, float, float, float, float) -> torch.Tensor
      r"""Fills the input Tensor with values drawn from a truncated
      normal distribution. The values are effectively drawn from the normal distribution :math:`\mathcal{N}(\text{mean},
      \text{std}^2)` with values outside :math:`[a, b]` redrawn until they are within the bounds. The method used for
      generating the random values works best when :math:`a \leq \text{mean} \leq b`.
  
      Args:
          tensor: an n-dimensional `torch.Tensor`
          mean: the mean of the normal distribution
          std: the standard deviation of the normal distribution
          a: the minimum cutoff value
          b: the maximum cutoff value
      Examples:
          >>> w = torch.empty(3, 5) >>> nn.init.trunc_normal_(w)
      """
      return _no_grad_trunc_normal_(tensor, mean, std, a, b)
  
imports: import math
  from typing import Optional, Union
  import torch
  from torch import nn
  from ...configuration_utils import ConfigMixin, register_to_config
  from ...models import ModelMixin
  from ...models.attention import FeedForward
  from ...models.attention_processor import Attention
  from ...models.embeddings import TimestepEmbedding, Timesteps, get_2d_sincos_pos_embed
  from ...models.normalization import AdaLayerNorm
  from ...models.transformer_2d import Transformer2DModelOutput
  from ...utils import logging
label_desc: Use image node_id 2 for calling a global function with example usage: trunc_normal_(tensor, mean, std, a, b) and returns: _no_grad_trunc_normal_