import { NDArrayMath } from '../math'; import { Tensor } from '../tensor'; export interface ActivationFunction { output(math: NDArrayMath, input: T): T; der(math: NDArrayMath, input: T, output: T): T; dispose(): void; } export declare class TanHFunc implements ActivationFunction { private one; output(math: NDArrayMath, x: T): T; der(math: NDArrayMath, x: T, y: T): T; dispose(): void; } export declare class ReLUFunc implements ActivationFunction { output(math: NDArrayMath, x: T): T; der(math: NDArrayMath, x: T, y: T): T; dispose(): void; } export declare class LeakyReluFunc implements ActivationFunction { private alpha; constructor(alpha: number); output(math: NDArrayMath, x: T): T; der(math: NDArrayMath, x: T, y: T): T; dispose(): void; } export declare class SigmoidFunc implements ActivationFunction { output(math: NDArrayMath, x: T): T; der(math: NDArrayMath, x: T, y: T): T; dispose(): void; } export declare class SquareFunc implements ActivationFunction { private two; output(math: NDArrayMath, x: T): T; der(math: NDArrayMath, x: T, y: T): T; dispose(): void; } export declare class EluFunc implements ActivationFunction { output(math: NDArrayMath, x: T): T; der(math: NDArrayMath, x: T, y: T): T; dispose(): void; }