UNPKG

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

Version:

Data analysis model package without any dependencies

143 lines (142 loc) 4.52 kB
/** * GRU layer */ export default class GRULayer extends Layer { /** * @param {object} config object * @param {number} config.size Size of output * @param {boolean} [config.return_sequences] Return sequences or not * @param {number[][] | Matrix | string} [config.w_z] Weight of z from input to sequence * @param {number[][] | Matrix | string} [config.w_r] Weight of r from input to sequence * @param {number[][] | Matrix | string} [config.w_h] Weight of h from input to sequence * @param {number[][] | Matrix | string} [config.u_z] Weight of z from sequence to sequence * @param {number[][] | Matrix | string} [config.u_r] Weight of r from sequence to sequence * @param {number[][] | Matrix | string} [config.u_h] Weight of h from sequence to sequence * @param {number[][] | Matrix | string} [config.b_z] Bias of z of output * @param {number[][] | Matrix | string} [config.b_r] Bias of r of output * @param {number[][] | Matrix | string} [config.b_h] Bias of h of output * @param {number} [config.sequence_dim] Dimension of the timesteps */ constructor({ size, return_sequences, w_z, w_r, w_h, u_z, u_r, u_h, b_z, b_r, b_h, sequence_dim, ...rest }: { size: number; return_sequences?: boolean; w_z?: number[][] | Matrix | string; w_r?: number[][] | Matrix | string; w_h?: number[][] | Matrix | string; u_z?: number[][] | Matrix | string; u_r?: number[][] | Matrix | string; u_h?: number[][] | Matrix | string; b_z?: number[][] | Matrix | string; b_r?: number[][] | Matrix | string; b_h?: number[][] | Matrix | string; sequence_dim?: number; }); _size: number; _unit: GRUUnitLayer; _return_sequences: boolean; _sequence_dim: 0 | 1; calc(x: any): any; _x: any[]; grad(bo: any): any[] | Tensor<any>; _grad_bptt(bo: any): any[] | Tensor<any>; _bo: any[]; update(optimizer: any): void; toObject(): { w_z: string | any[][]; w_r: string | any[][]; w_h: string | any[][]; u_z: string | any[][]; u_r: string | any[][]; u_h: string | any[][]; b_z: string | any[][]; b_r: string | any[][]; b_h: string | any[][]; type: string; size: number; return_sequences: boolean; sequence_dim: number; }; } import Layer from './base.js'; declare class GRUUnitLayer extends Layer { constructor({ layer, size, w_z, w_r, w_h, u_z, u_r, u_h, b_z, b_r, b_h, ...rest }: { [x: string]: any; layer: any; size: any; w_z?: any; w_r?: any; w_h?: any; u_z?: any; u_r?: any; u_h?: any; b_z?: any; b_r?: any; b_h?: any; }); _size: any; _w_z: Variable; _w_r: Variable; _w_h: Variable; _u_z: Variable; _u_r: Variable; _u_h: Variable; _b_z: Variable; _b_r: Variable; _b_h: Variable; _s0: Matrix<number>; _x: any[]; _h: any[]; _s: any[]; _z: any[]; _r: any[]; _bo: any[]; _dy: any[]; _dr: any[]; _dz: any[]; _dh: any[]; _sigmoid(x: any): Matrix<number>; _grad_sigmoid(y: any): Matrix<number>; _tanh(x: any): Matrix<number>; _grad_tanh(y: any): Matrix<number>; calc(x: any, k: any): any; grad(bo: any, t: any): any; _grad_bptt(bo: any, t: any): any; _diff_bptt(): void; _dw_r: Matrix<number>; _dw_z: Matrix<number>; _dw_h: Matrix<number>; _db_r: Matrix<number>; _db_z: Matrix<number>; _db_h: Matrix<number>; _du_r: Matrix<number>; _du_z: Matrix<number>; _du_h: Matrix<number>; update(optimizer: any): void; _update_bptt(optimizer: any): void; toObject(): { w_z: string | any[][]; w_r: string | any[][]; w_h: string | any[][]; u_z: string | any[][]; u_r: string | any[][]; u_h: string | any[][]; b_z: string | any[][]; b_r: string | any[][]; b_h: string | any[][]; }; } import Tensor from '../../../util/tensor.js'; import Matrix from '../../../util/matrix.js'; declare class Variable { constructor(layer: any, value: any, sizes: any); _layer: any; _sizes: any; _name: string; _value: Matrix<any>; get name(): string; get value(): Matrix<any>; get sizes(): number[]; get(...sizes: any[]): Matrix<any>; toObject(): string | any[][]; } export {};