Conv2d constructor
Conv2d({})
Implementation
Conv2d({
required this.inChannels,
required this.outChannels,
required this.kernelSize,
this.stride = 1,
this.padding = 0,
this.useBias = true,
}) {
// Initialize kernels for each output channel with weights for each input channel
kernels = List.generate(outChannels, (outIdx) {
return List.generate(inChannels, (inIdx) {
return Matrix2d(
kernelSize,
kernelSize,
ValueVector(List.generate(kernelSize * kernelSize,
(i) => Value(math.Random().nextDouble() * 0.1 - 0.05))),
);
});
});
// Initialize biases (if used)
biases = ValueVector(List.generate(outChannels, (i) => Value(0)));
}