@hoff97/tensor-js
Version:
PyTorch like deep learning inferrence library
39 lines (38 loc) • 1.66 kB
TypeScript
import { DTypeGpu, GPUTensorConstructor, GPUTensorI } from '../../../tensor/gpu/interface';
import { GPUMemoryAllocator } from '../../../tensor/gpu/memory';
import { Input, Operation } from '../../../ops/gpu/operation';
import { Dispatcher } from '../../../ops/gpu/dispatcher';
export interface UpdateMomentInfo {
shapeGrad?: readonly number[];
widthGrad?: number;
heightGrad?: number;
shapeMoments?: readonly number[];
widthMoments?: number;
heightMoments?: number;
shapeOutput?: readonly number[];
widthOutput?: number;
heightOutput?: number;
beta1?: number;
beta2?: number;
}
export interface UpdateMomentInput {
Grad: GPUTensorI;
Moments: GPUTensorI;
beta1: number;
beta2: number;
t: number;
}
export declare class UpdateMomentOperation<GPUTensor extends GPUTensorI> extends Operation<GPUTensor, UpdateMomentInfo, UpdateMomentInput> {
protected maxIterations: number;
constructor(tensorConstructor: GPUTensorConstructor<GPUTensor>, dtype: DTypeGpu, allocator?: GPUMemoryAllocator);
getVariables(): string;
getFragmentShader(info: UpdateMomentInfo): string;
getTextureNames(): string[];
getUniformAttrs(): Input[];
calc(input: UpdateMomentInput): GPUTensor;
getOutputShape(input: UpdateMomentInput): readonly number[];
compile(info: UpdateMomentInfo): void;
getCompilationInfo(input: UpdateMomentInput): UpdateMomentInfo;
getInputInfoString(input: UpdateMomentInput): string;
}
export declare const defaultUpdateMomentsD: Dispatcher<GPUTensorI, unknown, unknown, UpdateMomentOperation<import("../../../tensor/gpu/tensor").GPUTensor<DTypeGpu>>>;