proc linear[T](input, weight: Tensor[T]; bias: Tensor[T]; output: var Tensor[T]) {. inline.}
proc linear[T](input, weight: Tensor[T]; output: var Tensor[T]) {.inline.}
proc linear_backward[T](input, weight, gradOutput: Tensor[T]; gradInput, gradWeight, gradBias: var Tensor[T]) {.inline.}
proc linear_backward[T](input, weight, gradOutput: Tensor[T]; gradInput, gradWeight: var Tensor[T]) {.inline.}