UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

52 lines (51 loc) 1.35 kB
/** * Leaky integrate-and-fire layer */ export default class SpikeLIFLayer extends Layer { /** * @param {object} config object * @param {number} config.size Size of output * @param {number[][] | Matrix | string} [config.w] Weight * @param {number} [config.th] Firing threshold * @param {number} [config.spike_train_dim] Dimension of the spike train */ constructor({ size, w, th, spike_train_dim, ...rest }: { size: number; w?: number[][] | Matrix | string; th?: number; spike_train_dim?: number; }); _size: number; _spike_train_dim: -1; _rest: number; _ref: number; _th: number; _tc: number; _peak: number; _w: Matrix<number>; _wname: string; _dt: number; _tci: number; _update_method: string; _a_ltp: number; _a_ltd: number; _tc_ltp: number; _tc_ltd: number; calc(x: any): Tensor<number>; _i: any; _m: Tensor<number>; _o: Tensor<number>; grad(): any; _dw: Matrix<number>; update(optimizer: any): void; toObject(): { type: string; size: number; w: string | number[][]; th: number; spike_train_dim: number; }; } import Layer from './base.js'; import Matrix from '../../../util/matrix.js'; import Tensor from '../../../util/tensor.js';