UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

110 lines (109 loc) 5.22 kB
export { default as Layer } from "./nns/layer/base.js"; export { default as ComputationalGraph } from "./nns/graph.js"; /** * @ignore * @typedef {import("./nns/graph").LayerObject} LayerObject */ /** * Exception for neuralnetwork class */ export class NeuralnetworkException extends Error { /** * @param {string} message Error message * @param {*} value Some value */ constructor(message: string, value: any); value: any; } /** * Neuralnetwork */ export default class NeuralNetwork { /** * Returns neuralnetwork. * @param {LayerObject[]} layers Network layers * @param {string} [loss] Loss name * @param {'sgd' | 'adam' | 'momentum' | 'adagrad' | 'rmsprop' | 'adadelta' | 'rmspropgraves' | 'smorms3' | 'adamax' | 'nadam'} [optimizer] Optimizer of the network * @returns {NeuralNetwork} Created Neuralnetwork */ static fromObject(layers: LayerObject[], loss?: string, optimizer?: "sgd" | "adam" | "momentum" | "adagrad" | "rmsprop" | "adadelta" | "rmspropgraves" | "smorms3" | "adamax" | "nadam"): NeuralNetwork; /** * Load onnx model. * @param {Uint8Array | ArrayBuffer | File} buffer File * @returns {Promise<NeuralNetwork>} Loaded NeuralNetwork */ static fromONNX(buffer: Uint8Array | ArrayBuffer | File): Promise<NeuralNetwork>; /** * @param {ComputationalGraph} graph Graph of a network * @param {'sgd' | 'adam' | 'momentum' | 'adagrad' | 'rmsprop' | 'adadelta' | 'rmspropgraves' | 'smorms3' | 'adamax' | 'nadam' | 'santae' | 'santasss' | 'amsgrad' | 'adabound' | 'amsbound' | 'adabelief'} [optimizer] Optimizer of the network */ constructor(graph: ComputationalGraph, optimizer?: "sgd" | "adam" | "momentum" | "adagrad" | "rmsprop" | "adadelta" | "rmspropgraves" | "smorms3" | "adamax" | "nadam" | "santae" | "santasss" | "amsgrad" | "adabound" | "amsbound" | "adabelief"); _graph: ComputationalGraph; _optimizer: "sgd" | "adam" | "momentum" | "adagrad" | "rmsprop" | "adadelta" | "rmspropgraves" | "smorms3" | "adamax" | "nadam" | "santae" | "santasss" | "amsgrad" | "adabound" | "amsbound" | "adabelief"; _opt: opt.adabelief | opt.adabound | opt.adadelta | opt.adagrad | opt.adam | opt.adamax | opt.amsbound | opt.amsgrad | opt.momentum | opt.nadam | opt.rmsprop | opt.rmspropgraves | opt.santae | opt.santasss | opt.sgd | opt.smorms3; _opt_managers: { readonly lr: any; delta(_: any, value: any): any; }[]; _getDatasize(x: any): number; /** * Returns a copy of this. * @returns {NeuralNetwork} Copied network */ copy(): NeuralNetwork; /** * Returns object representation. * @returns {LayerObject[]} Object represented this neuralnetwork */ toObject(): LayerObject[]; /** * Returns calculated values. * @param {Array<Array<number | Array<number>>> | Matrix | Tensor | {[key: string]: Array<Array<number | Array<number>>> | Matrix | Tensor}} x Input value * @param {Matrix} [t] Supervised value * @param {string[]} [out] Name of node from which to get output * @param {object} [options] Option * @returns {Matrix | {[key: string]: Matrix}} Calculated values */ calc(x: Array<Array<number | Array<number>>> | Matrix | Tensor | { [key: string]: Array<Array<number | Array<number>>> | Matrix | Tensor; }, t?: Matrix, out?: string[], options?: object): Matrix | { [key: string]: Matrix; }; /** * Returns gradient values. * @param {Matrix} [e] Input of gradient * @returns {Matrix} Output of gradient */ grad(e?: Matrix): Matrix; /** * Update model parameters. * @param {number} learning_rate Learning rate */ update(learning_rate: number): void; /** * Fit model. * @param {Array<Array<number | Array<number>>> | Matrix | Tensor | {[key: string]: Array<Array<number | Array<number>>> | Matrix | Tensor}} x Training data * @param {Array<Array<number>> | Matrix} t Target values * @param {number} [epoch] Iteration count * @param {number} [learning_rate] Learning rate * @param {number} [batch_size] Batch size * @param {object} [options] Option * @returns {number[]} Loss value */ fit(x: Array<Array<number | Array<number>>> | Matrix | Tensor | { [key: string]: Array<Array<number | Array<number>>> | Matrix | Tensor; }, t: Array<Array<number>> | Matrix, epoch?: number, learning_rate?: number, batch_size?: number, options?: object): number[]; /** * Returns predicted values. * @param {Array<Array<number | Array<number>>> | Matrix | Tensor | {[key: string]: Array<Array<number | Array<number>>> | Matrix | Tensor}} x Sample data * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number | Array<number>>> | Matrix | Tensor | { [key: string]: Array<Array<number | Array<number>>> | Matrix | Tensor; }): Array<Array<number>>; } export type LayerObject = import("./nns/graph").LayerObject; import * as opt from './nns/optimizer.js'; import Matrix from '../util/matrix.js'; import Tensor from '../util/tensor.js'; import ComputationalGraph from './nns/graph.js';