node-efficientnet
Version:
Implementation of efficientNet model in nodejs
58 lines (53 loc) • 1.5 kB
text/typescript
import * as fs from "fs";
import * as path from "path";
export enum EfficientNetLabelLanguage {
ENGLISH,
CHINESE,
SPANISH,
ARABIC,
FRENCH,
RUSSIAN,
HEBREW,
}
export class EfficientNetLanguageProvider {
private filePath = "misc/en.json";
private labelsMap = null;
constructor(language: EfficientNetLabelLanguage | undefined) {
let fileName = null;
if (language) {
language as EfficientNetLabelLanguage;
switch (+language) {
case EfficientNetLabelLanguage.CHINESE:
fileName = "zh";
break;
case EfficientNetLabelLanguage.ENGLISH:
fileName = "en";
break;
case EfficientNetLabelLanguage.SPANISH:
fileName = "es";
break;
case EfficientNetLabelLanguage.RUSSIAN:
fileName = "ru";
break;
case EfficientNetLabelLanguage.ARABIC:
fileName = "ar";
break;
case EfficientNetLabelLanguage.HEBREW:
fileName = "he";
break;
case EfficientNetLabelLanguage.FRENCH:
fileName = "fr";
break;
}
}
this.filePath = fileName ? `misc/${fileName}.json` : this.filePath;
}
async load(): Promise<void> {
const jsonFile = path.join(__dirname, this.filePath);
const translationFile = await fs.readFileSync(jsonFile, "utf8");
this.labelsMap = JSON.parse(translationFile);
}
get(value: number): string | undefined {
return this.labelsMap?.[value];
}
}