docstr: Initialize Siren uniform initializer for the first layer.
  
  It draws values from a uniform distribution `[-limit, limit]`
  where `limit=sqrt(6 / fan_in) / w0` where `fan_in` is the number
  of input features.
docstr_tok: ["Initialize","Siren","uniform","initializer","for","the","first","layer",".","It","draws","values","from","a","uniform","distribution","`","[","-limit",",","limit","]","`","where","`","limit=sqrt","(","6","\/","fan_in",")","\/","w0","`","where","`","fan_in","`","is","the","number","of","input","features","."]
code: def __init__(self, w0=30):
      """Initialize Siren uniform initializer for the first layer.
  
      It draws values from a uniform distribution `[-limit, limit]`
      where `limit=sqrt(6 / fan_in) / w0` where `fan_in` is the number
      of input features.
      """
      super().__init__(
          numerator=6, fan_mode="fan_in", power=0.5, gain=1 / w0
      )
  
imports: from typing import Tuple, Union, Optional
  import abc
  import ivy
  from ivy.functional.ivy.gradients import _variable
label_desc: Use image node_id 1 to create a new Siren object from inherited base classes: Uniform with example: obj = Siren(w0)