import * as tf from '@tensorflow/tfjs'; import { io } from '@tensorflow/tfjs-core'; class DataManager { private labelMap: { [key: string]: number } = {}; private labelIndex: number = 0; private data: { label: number, values: number[] }[] = []; async addData(label: string, values: number[]): Promise { if (!(label in this.labelMap)) { this.labelMap[label] = this.labelIndex++; } const numericLabel = this.labelMap[label]; this.data.push({ label: numericLabel, values }); } convertToTensors() { const xs = this.data.map(d => d.values); const ys = this.data.map(d => d.label); const xsTensor = tf.tensor2d(xs, [xs.length, xs[0].length], 'float32'); const ysTensor = tf.tensor1d(ys, 'float32'); return { xs: xsTensor, ys: ysTensor }; } getLabelMap() { return this.labelMap; } } export default DataManager;