UNPKG

node-efficientnet

Version:

Implementation of efficientNet model in nodejs

31 lines (28 loc) 836 B
import { EfficientNetLanguageProvider } from "./EfficientNetLanguageProvider"; interface Prediction { label: string; precision: number; } export default class EfficientNetResult { result: Prediction[] = []; constructor( values: Float32Array, topK: number, languageProvider: EfficientNetLanguageProvider ) { const arr = Array.from(values); const topValues = values .sort((a: number, b: number) => b - a) .slice(0, topK); const indexes = topValues.map((e: number) => arr.indexOf(e)); const sum = topValues.reduce((a: number, b: number) => { return a + b; }, 0); indexes.forEach((value: number, index: number) => { this.result.push({ label: languageProvider.get(value), precision: (topValues[index] / sum) * 100, } as Prediction); }); } }