import { Variable } from '../../autograd/variable'; import { Module } from '../module'; /** * Base class for all gradient based model optimizers. */ export declare abstract class Optimizer { model: Module; parameters: Variable[]; /** * Construct a new optimizer for a particular model */ constructor(model: Module); /** * Make one optimization step. This assumes that gradients where * computed previously by calling backward on a scalar variable before. */ abstract step(): void; /** * Zeros all gradients of the model parameters. This should be called * after each optimization step, when the gradients are no longer needed. */ zeroGrads(): void; }