code: def Linear(in_features, out_features, dropout=0.0):
      """Weight-normalized Linear layer (input: N x T x C)"""
      m = nn.Linear(in_features, out_features)
      m.weight.data.normal_(
          mean=0, std=math.sqrt((1 - dropout) / in_features)
      )
      m.bias.data.zero_()
      return m
  
imports: import logging
  import math
  import os
  import torch
  import torch.nn
  import torch.nn.functional
  from fairseq import checkpoint_utils
  from fairseq.incremental_decoding_utils import with_incremental_state
  from fairseq.models import CompositeEncoder, FairseqDecoder, FairseqEncoder, FairseqEncoderDecoderModel, register_model, register_model_architecture
  from fairseq.modules import DownsampledMultiHeadAttention, FairseqDropout, GradMultiply, LayerNorm, LearnedPositionalEmbedding, LinearizedConvolution
label_desc: Use image node_id 3 for calling a global function with example usage: Linear(in_features, out_features, dropout) and returns: m