license import { AvgPool3D , AvgPool3DAttrs , AvgPool3DInputs , backend_util , KernelConfig , KernelFunc , TensorInfo , TypedArray , util } from '@tensorflow/tfjs-core' ; import { MathBackendCPU } from '../backend_cpu' ; import { assertNotComplex } from '../cpu_util' ; import { pool3d } from '../utils/pool_utils' ; export function avgPool3D ( args ) { const { inputs , backend , attrs } = args ; const { x } = inputs ; const { filterSize , strides , pad , dimRoundingMode , dataFormat } = attrs ; assertNotComplex ( x , 'avgPool3d' ) ; const convInfo = backend_util . computePool3DInfo ( x . shape as [ number , number , number , number , number ] , filterSize , strides , 1 , pad , dimRoundingMode , dataFormat ) ; const xValues = backend . data . get ( x . dataId ) . values as TypedArray ; const outBuf = pool3d ( xValues , x . shape , x . dtype , util . computeStrides ( x . shape ) , convInfo , 'avg' ) ; return backend . makeTensorInfo ( outBuf . shape , 'float32' , outBuf . values ) ; } export const avgPool3DConfig = { kernelName : AvgPool3D , backendName : 'cpu' , kernelFunc : avgPool3D as { } as KernelFunc } ;