UNPKG

brain.js

Version:

Neural networks in JavaScript

84 lines 3.4 kB
import { Filter } from './filter'; import { IConstantsThis, IKernelFunctionThis, IKernelRunShortcut, KernelOutput } from 'gpu.js'; import { ILayer, ILayerSettings } from './base-layer'; export interface IConvolutionConstantsBase extends IConstantsThis { paddingX: number; paddingY: number; strideX: number; strideY: number; filterWidth: number; filterHeight: number; } export interface IPredictConstants extends IConvolutionConstantsBase { inputWidth: number; inputHeight: number; inputDepth: number; } export declare function predict(this: IKernelFunctionThis<IPredictConstants>, inputs: number[][][], filters: number[][][], biases: number[]): number; export interface ICompareFilterDeltasConstants extends IConvolutionConstantsBase { deltaWidth: number; deltaHeight: number; inputWidth: number; inputHeight: number; deltaZ: number; } export declare function compareFilterDeltas(this: IKernelFunctionThis<ICompareFilterDeltasConstants>, filterDeltas: number[][][], inputs: number[][][], deltas: number[][][]): number; export interface ICompareInputDeltasConstants extends IConvolutionConstantsBase { deltaHeight: number; deltaWidth: number; deltaZ: number; } export declare function compareInputDeltas(this: IKernelFunctionThis<ICompareInputDeltasConstants>, inputDeltas: number[][][], filters: number[][][], deltas: number[][][]): number; export interface ICompareBiasesConstants extends IConstantsThis { deltaHeight: number; deltaWidth: number; } export declare function compareBiases(this: IKernelFunctionThis<ICompareBiasesConstants>, biasDeltas: number[][][], deltas: number[][][]): number; export interface IConvolutionSettingsBase { stride?: number; strideX?: number; strideY?: number; padding?: number; paddingX?: number; paddingY?: number; filterCount?: number; filterWidth?: number; filterHeight?: number; } export interface IConvolutionSettings extends ILayerSettings, IConvolutionSettingsBase { bias?: number; biases?: KernelOutput; biasDeltas?: KernelOutput; filters?: KernelOutput; filterDeltas?: KernelOutput; } export declare const defaults: IConvolutionSettings; export declare class Convolution extends Filter { settings: Partial<IConvolutionSettings>; get strideX(): number; get strideY(): number; get paddingX(): number; get paddingY(): number; get width(): number; get height(): number; get bias(): number; get depth(): number; get biases(): KernelOutput; set biases(biases: KernelOutput); get biasDeltas(): KernelOutput; set biasDeltas(weights: KernelOutput); get filters(): KernelOutput; set filters(filters: KernelOutput); get filterDeltas(): KernelOutput; set filterDeltas(filterDeltas: KernelOutput); constructor(settings: IConvolutionSettings, inputLayer: ILayer); compareFilterDeltasKernel: IKernelRunShortcut | null; compareInputDeltasKernel: IKernelRunShortcut | null; compareBiasesKernel: IKernelRunShortcut | null; setupKernels(): void; predict(): void; compare(): void; learn(learningRate: number): void; } export declare function convolution(settings: IConvolutionSettings, inputLayer: ILayer): Convolution; //# sourceMappingURL=convolution.d.ts.map