def band_output
stelliferous@0.0.2.0 · tensor_convolution.bend:148
import stelliferous@0.0.2.0/tensor_convolution.bend as TensorConvolution
import Base
import stelliferous@0.0.2.0/tensor.bend as Tensors
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/kernel_shape.bend as KernelShape
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/tensor_band.bend as Bands
import stelliferous@0.0.2.0/kernel_band_pipeline.bend as BandPipeline
import stelliferous@0.0.2.0/math_activation.bend as Activations
148def band_output(~custom: F32 -> F32,+activation: Activations.Activation,+geometry: Geometry,parallel: Bool,input: Bands.Bands(~F32),weights: Storage.Buffer<Tile.Tile8>,bias: Storage.Buffer<F32>,workers: U32) -> Tensors.Tensor<F32>:
149 Geometry{+count,batched,KernelShape.Dimensions{ci,+rows,height,width,+kernel,+stride,+padding}} = geometry
150 +oh = U32.from_nat(KernelShape.axis_size(height,kernel,stride,padding))
151 +ow = U32.from_nat(KernelShape.axis_size(width,kernel,stride,padding))
152 Tensors.Banded{BandPipeline.execute(~custom,band_context(geometry,parallel,activation),input,weights,bias),
153 Bands.Geometry{count,U32.from_nat(rows),oh,ow},output_shape(batched,count,U32.from_nat(rows),oh,ow),0.0,Tensors.Usable{},workers}