UNPKG

lysergic

Version:

Synaptic's neural network compiler

68 lines (67 loc) 1.79 kB
import { ActivationTypes } from "./ast/activations"; import { Heap } from "./Heap"; export interface Connection { to: number; from: number; } export interface Gate { to: number; from: number; gater: number; } export interface ITopologyOptions { heap: Heap; bias?: boolean; } export interface ITopologyUnitOptions { activationFunction?: ActivationTypes; bias?: boolean; l1?: number; l2?: number; parameters?: number[]; } export declare class Topology { heap: Heap; biasUnit: number; inputsOf: number[][]; unitParameters: { l2: number; l1: number; parameters: number[]; }[]; projectedBy: number[][]; gatersOf: number[][]; gatedBy: number[][]; inputsOfGatedBy: number[][][]; projectionSet: number[][]; gateSet: number[][]; inputSet: number[][]; connections: Connection[]; gates: Gate[]; layers: number[][]; activationFunction: ActivationTypes[]; units: number; constructor(options: ITopologyOptions); private normalize2D(key); private normalize3D(key); normalize(): void; addUnit(options?: ITopologyUnitOptions): number; addConnection(from: number, to: number, weight: number): void; addGate(from: number, to: number, gater: number): void; addLayer(size: number, options: ITopologyUnitOptions): number[]; private track(unit); toJSON(): { biasUnit: number; inputsOf: number[][]; projectedBy: number[][]; gatersOf: number[][]; gatedBy: number[][]; inputsOfGatedBy: number[][][]; projectionSet: number[][]; gateSet: number[][]; inputSet: number[][]; connections: Connection[]; gates: Gate[]; layers: number[][]; }; }