torch.Pool2dShape
export type Pool2dShape<S extends Shape> = S extends readonly [
infer B extends number,
infer C extends number,
number,
number,
]
? readonly [B, C, number, number] // [B, C, H, W] -> [B, C, outH, outW]
: S extends readonly [infer C extends number, number, number]
? readonly [C, number, number] // [C, H, W] -> [C, outH, outW]
: DynamicShape;Sextends ShapeOutput shape for 2D pooling (input: [B, C, H, W] or [C, H, W]). Preserves batch and channel dimensions, output spatial dims are dynamic.
Examples
type Input4D = readonly [16, 64, 224, 224]; // [B, C, H, W]
type Output4D = Pool2dShape<Input4D>; // [16, 64, number, number]
type Input3D = readonly [64, 224, 224]; // [C, H, W]
type Output3D = Pool2dShape<Input3D>; // [64, number, number]