@2bad/micrograd
Version:
[](https://www.npmjs.com/package/@2bad/micrograd) [](https://opensource.org/license/MIT) [ • 1.71 kB
TypeScript
export declare class Value {
#private;
readonly label: string;
readonly children: Value[];
readonly operation: string;
constructor(data: number, label?: string, children?: Value[], operation?: string);
[Symbol.toPrimitive](hint: string): string | number;
static validateNumber(value: number): void;
get id(): string;
get data(): number;
set data(value: number);
get grad(): number;
set grad(value: number);
prev(): Value[];
resetGrad(): void;
backward(order?: number): void;
getHigherOrderGradient(order: number): number;
static sigmoid(a: unknown, label?: string): Value;
static relu(a: unknown, label?: string): Value;
static log(a: unknown, label?: string): Value;
static from(value: unknown): Value;
static negate: (a: unknown, label?: string) => Value;
static add(a: unknown, b: unknown, label?: string): Value;
add(b: unknown, label?: string): Value;
static sub(a: unknown, b: unknown, label?: string): Value;
sub(b: unknown, label?: string): Value;
static mul(a: unknown, b: unknown, label?: string): Value;
mul(b: unknown, label?: string): Value;
static div(a: unknown, b: unknown, label?: string): Value;
div(b: unknown, label?: string): Value;
static exp(a: unknown, label?: string): Value;
exp(): Value;
static pow(a: unknown, b: unknown, label?: string): Value;
pow(b: unknown, label?: string): Value;
static tanh(a: unknown, label?: string): Value;
tanh(): Value;
clipGradients(maxNorm: number): void;
checkGradientHealth(): {
hasExploding: boolean;
hasVanishing: boolean;
maxGrad: number;
minGrad: number;
};
}