brain.js
Version:
Neural networks in JavaScript
72 lines • 3.34 kB
TypeScript
import { Value, IRNNDatum } from '../recurrent/rnn-data-types';
export interface IDataFormatter {
indexTable: {
[value: string]: number;
};
toIndexesInputOutput: (input: Value, output?: Value) => number[];
toIndexes: (input: string) => number[];
toCharacters: (output: number[]) => string[];
characters: Array<string | number>;
specialIndexes: number[];
toFunctionString: () => string;
formatDataIn: (input?: Value, output?: Value) => number[];
formatDataOut: (input: number[], output: number[]) => string;
format: (data: Array<IRNNDatum | Value>) => number[][];
isSetup: boolean;
toJSON: () => IDataFormatterJSON;
}
export declare class DataFormatter implements IDataFormatter {
private values?;
indexTable: {
[key: string]: number;
[key: number]: number;
};
characterTable: {
[key: number]: string | number | null;
};
characters: Array<string | number>;
specialIndexes: number[];
isSetup: boolean;
constructor(values?: (string | number | boolean | number[] | string[] | IRNNDatum | boolean[])[] | undefined, maxThreshold?: number);
setup(values: Array<IRNNDatum | Value>, maxThreshold?: number): void;
buildCharactersFromIterable(values: Array<IRNNDatum | Value>): void;
addCharacters(characters: string | string[] | boolean[] | number[], charactersTable: {
[character: string]: boolean;
}): void;
buildTables(maxThreshold: number): void;
toIndexes(value: Value, maxThreshold?: number): number[];
toIndexesInputOutput(input: Value, output?: Value, maxThreshold?: number): number[];
toIndexesValue(value: Value, maxThreshold: number, isInput: boolean): number[];
toCharacters(indices: number[], maxThreshold?: number): string[];
toString(indices: number[], maxThreshold: number): string;
addInputOutput(): void;
addUnrecognized(): void;
static fromAllPrintable(maxThreshold: number, values?: string[]): DataFormatter;
static fromAllPrintableInputOutput(maxThreshold: number, values?: string[]): DataFormatter;
static fromStringInputOutput(string: string, maxThreshold: number): DataFormatter;
static fromArrayInputOutput(data: IRNNDatum[], maxThreshold?: number): DataFormatter;
static fromString(string: string, maxThreshold?: number): DataFormatter;
toJSON(): IDataFormatterJSON;
/** TODO: Type better, The type of json is not "string that is a valid JSON", it is a POJO in the shape of DataFormatter.
* this method re-hydrates the the data as an instance of DataFormatter.
*/
static fromJSON(json: IDataFormatterJSON): DataFormatter;
addSpecial(special: string | number, character?: null): void;
toFunctionString(): string;
formatDataIn(input?: Value, output?: Value): number[];
formatDataOut(input: number[], output: number[]): string;
format(data: Array<IRNNDatum | Value>): number[][];
}
export interface IDataFormatterJSON {
indexTable: {
[key: string]: number;
[key: number]: number;
};
characterTable: {
[key: number]: string | number | null;
};
values: Value[];
characters: Array<string | number>;
specialIndexes: number[];
}
//# sourceMappingURL=data-formatter.d.ts.map