Linear constructor

Linear(
  1. int inFeatures,
  2. int outFeatures, {
  3. bool bias = true,
  4. Device device = Device.CPU,
  5. int seed = 0,
})

Weight init: Kaiming-uniform with a = sqrt(5) (matches PyTorch's default). Bias, when present, uses uniform in [-1/sqrt(fan_in), +1/sqrt(fan_in)].

Implementation

Linear(
  this.inFeatures,
  this.outFeatures, {
  bool bias = true,
  Device device = Device.CPU,
  int seed = 0,
}) : weight = _initWeight(inFeatures, outFeatures, device, seed),
     bias = bias
         ? _initBias(inFeatures, outFeatures, device, seed + 1)
         : null;