gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import * as tf from '../../dist/tfjs.esm';
 
import { leaky } from './leaky';
import { ConvWithBatchNorm } from './types';
 
export function convWithBatchNorm(x: tf.Tensor4D, params: ConvWithBatchNorm): tf.Tensor4D {
  return tf.tidy(() => {
    let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;
    out = tf.conv2d(out, params.conv.filters, [1, 1], 'valid');
    out = tf.sub(out, params.bn.sub);
    out = tf.mul(out, params.bn.truediv);
    out = tf.add(out, params.conv.bias);
    return leaky(out);
  });
}