brain.js
Version:
Neural networks in JavaScript
77 lines • 2.83 kB
TypeScript
import { IKernelRunShortcut, Input, KernelOutput, TextureArrayOutput } from 'gpu.js';
import { IPraxis, IPraxisSettings } from '../praxis/base-praxis';
export interface ILayerJSON {
width?: number;
height?: number;
depth?: number;
weights?: number[] | number[][] | number[][][] | null;
type: string;
inputLayerIndex?: number;
inputLayer1Index?: number;
inputLayer2Index?: number;
praxisOpts?: Partial<IPraxisSettings> | null;
}
export interface ILayer {
width: number;
height: number;
depth: number;
weights: KernelOutput | Input;
deltas: KernelOutput;
praxis: IPraxis | null;
errors?: KernelOutput | null;
setupKernels: (training?: boolean) => void;
predictKernel: IKernelRunShortcut | null;
compareKernel: IKernelRunShortcut | null;
settings: Partial<ILayerSettings>;
reuseKernels: (layer: ILayer) => void;
predict: (inputs?: KernelOutput) => void;
compare: (targetValues?: KernelOutput) => void;
learn: ((learningRate?: number) => void) | ((learningRate: number) => void);
toJSON: () => Partial<ILayerJSON>;
inputLayer?: ILayer;
inputLayer1?: ILayer;
inputLayer2?: ILayer;
index?: number;
id?: string;
}
export interface ILayerSettings {
width?: number | null;
height?: number | null;
depth?: number | null;
weights?: KernelOutput | null;
deltas?: KernelOutput | null;
id?: string;
praxis?: IPraxis | null;
praxisOpts?: Partial<IPraxisSettings> | null;
initPraxis?: ((layerTemplate: ILayer, settings?: IPraxisSettings) => IPraxis) | null;
cleanupDeltas?: boolean;
}
export declare const baseLayerDefaultSettings: ILayerSettings;
export declare type BaseLayerType = new (settings?: Partial<ILayerSettings>) => ILayer;
export declare class BaseLayer implements ILayer {
praxis: IPraxis | null;
predictKernel: IKernelRunShortcut | null;
compareKernel: IKernelRunShortcut | null;
settings: Partial<ILayerSettings>;
get width(): number;
get height(): number;
get depth(): number;
get weights(): KernelOutput | Input;
set weights(weights: KernelOutput | Input);
get deltas(): KernelOutput;
set deltas(deltas: KernelOutput);
get id(): string;
set id(title: string);
constructor(settings?: Partial<ILayerSettings>);
setupPraxis(): void;
validate(): void;
setupKernels(isTraining?: boolean): void;
reuseKernels(layer: ILayer): void;
predict(inputs?: KernelOutput): void;
compare(targetValues?: KernelOutput): void;
learn(learningRate?: number): void;
toArray(): TextureArrayOutput;
toJSON(): Partial<ILayerJSON>;
static toJSON(layer: ILayer): Partial<ILayerJSON>;
}
//# sourceMappingURL=base-layer.d.ts.map