21 lines
949 B
TypeScript
21 lines
949 B
TypeScript
import * as tf from '../../dist/tfjs.esm';
|
|
|
|
import { PointwiseConvParams } from './types';
|
|
|
|
export function pointwiseConvLayer(x: tf.Tensor4D, params: PointwiseConvParams, strides: [number, number]) {
|
|
return tf.tidy(() => {
|
|
let out = tf.conv2d(x, params.filters, strides, 'same');
|
|
/*
|
|
if (x.shape[1] === 512 && x.shape[3] === 3) {
|
|
console.log('Input:', x.shape, x.size); // input does not change (checked values)
|
|
console.log('Filter:', params.filters.shape, params.filters.size); // params do not change (checked values)
|
|
console.log('Strides', strides);
|
|
console.log('Conv2d Output:', out.shape, out.size, out.dataSync()[0]); // output has different values!
|
|
console.log('Sum of all Conv2D values:', tf.reshape(out, [2097152]).sum().dataSync()[0]); // silly sum just to see how much results diverged
|
|
}
|
|
*/
|
|
out = tf.add(out, params.batch_norm_offset);
|
|
return tf.clipByValue(out, 0, 6);
|
|
});
|
|
}
|