human/test/wasm-error.js

29 lines
954 B
JavaScript

const fs = require('fs');
const tf = require('@tensorflow/tfjs');
const wasm = require('@tensorflow/tfjs-backend-wasm');
async function main() {
wasm.setWasmPaths('node_modules/@tensorflow/tfjs-backend-wasm/dist/');
await tf.setBackend('wasm');
await tf.ready();
console.log('tfjs:', { version: tf.version_core, backend: tf.getBackend() });
const t = {};
const data = fs.readFileSync('dist/tfjs.esm.js.map');
for (let i = 0; i <= 22; i++) {
const arr = Array.from(data);
const size = 2 ** i;
arr.length = size;
t.i32 = tf.tensor(arr, [size], 'int32');
t.f32 = tf.tensor(arr, [size], 'float32');
t.sumI = tf.sum(t.i32);
t.sumF = tf.sum(t.f32);
const JS = arr.reduce((prev, curr) => prev += curr, 0);
const I32 = t.sumI.dataSync()[0];
const F32 = t.sumF.dataSync()[0];
console.log({ size, JS, I32, F32, ok: JS === I32 });
Object.keys(t).forEach((tensor) => tf.dispose(tensor));
}
}
main();