license import { env , KernelConfig , KernelFunc , LRN , LRNAttrs , LRNInputs , TensorInfo } from '@tensorflow/tfjs-core' ; import { MathBackendWebGL } from '../backend_webgl' ; import { LRNProgram } from '../lrn_gpu' ; import { LRNPackedProgram } from '../lrn_packed_gpu' ; export const lrn = ( args ) : TensorInfo => { const { inputs , backend , attrs } = args ; const { x } = inputs ; const { depthRadius , bias , alpha , beta } = attrs ; const program = env ( ) . getBool ( 'WEBGL_PACK_NORMALIZATION' ) ? new LRNPackedProgram ( x . shape , depthRadius , bias , alpha , beta ) : new LRNProgram ( x . shape , depthRadius , bias , alpha , beta ) ; return backend . runWebGLProgram ( program , [ x ] , x . dtype ) ; } ; export const LRNConfig = { kernelName : LRN , backendName : 'webgl' , kernelFunc : lrn as { } as KernelFunc } ;