@hoff97/tensor-js
Version:
PyTorch like deep learning inferrence library
64 lines (63 loc) • 1.96 kB
TypeScript
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;
}