chickadee » nanograd » make-flatten

make-flatten #!key (name Flatten)procedure

Creates a layer that flattens each sample to a vector.

  • 4-D: (N, C, H, W) -> (N, C*H*W)
  • 3-D: (C, H, W) -> (C*H*W)
  • 2-D and 1-D inputs are passed through unchanged
(define flatten (make-flatten name: "Flatten"))

; Flatten a batch of feature maps
(define features (make-tensor32 data '(32 64 8 8)))
(define flattened (forward flatten features))  ; Shape: (32, 4096)