UNPKG

@hoff97/tensor-js

Version:

PyTorch like deep learning inferrence library

64 lines (63 loc) 1.96 kB
import { Tensor } from '../library'; import { Module } from './module'; /** * Linear layer calculates y=xW + b * * W is initialized with Xavier initialization, while the bias is * initialized to zeros */ export declare class Linear extends Module { weights: Tensor<any>; bias?: Tensor<any>; /** * Creates a linear layer * @param dimIn Feature dimension of the input * @param dimOut Feature dimension of the output * @param bias Wether a bias should be added or not. Defaults to true */ constructor(dimIn: number, dimOut: number, bias?: boolean); forward(inputs: Tensor<any>[]): Promise<Tensor<any>[]>; } /** * Rectified linear unit, calculates y = max(x,0) */ export declare class Relu extends Module { forward(inputs: Tensor<any>[]): Promise<Tensor<any>[]>; } /** * Sequence of modules. Passes the input sequentially into the specified modules */ export declare class Sequential extends Module { modules: Module[]; constructor(modules: Module[]); forward(inputs: Tensor<any>[]): Promise<Tensor<any>[]>; getSubModules(): Module[]; } /** * Dictionary of modules. Use this if you want to store submodules in a dictionary */ export declare class ModuleDict extends Module { modules: { [name: string]: Module; }; constructor(modules?: { [name: string]: Module; }); forward(inputs: Tensor<any>[]): Promise<Tensor<any>[]>; getSubModules(): Module[]; get(key: string): Module; set(key: string, module: Module): void; } /** * List of modules. Use this if you want to store submodules in a list */ export declare class ModuleList extends Module { modules: Module[]; constructor(modules?: Module[]); forward(inputs: Tensor<any>[]): Promise<Tensor<any>[]>; getSubModules(): Module[]; get(index: number): Module; set(index: number, module: Module): void; push(module: Module): void; pop(): Module | undefined; }