lysergic
Version:
Synaptic's neural network compiler
68 lines (67 loc) • 1.79 kB
TypeScript
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[][];
};
}