UNPKG

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

Version:

Data analysis model package without any dependencies

56 lines (55 loc) 2.13 kB
/** * @ignore * @typedef {import("./nns/graph").LayerObject} LayerObject */ /** * Variational Autoencoder */ export default class VAE { /** * @param {number} in_size Input size * @param {number} noise_dim Number of noise dimension * @param {LayerObject[]} enc_layers Layers of encoder * @param {LayerObject[]} dec_layers Layers of decoder * @param {string} optimizer Optimizer of the network * @param {number | null} class_size Class size for conditional type * @param {'' | 'conditional'} type Type name */ constructor(in_size: number, noise_dim: number, enc_layers: LayerObject[], dec_layers: LayerObject[], optimizer: string, class_size: number | null, type: "" | "conditional"); _type: "" | "conditional"; _reconstruct_rate: number; _epoch: number; _decodeNet: NeuralNetwork; _aeNet: NeuralNetwork; /** * Epoch * @type {number} */ get epoch(): number; /** * Fit model. * @param {Array<Array<number>>} x Training data * @param {Array<Array<number>> | null} y Conditional values * @param {number} iteration Iteration count * @param {number} rate Learning rate * @param {number} batch Batch size * @returns {number} Loss value */ fit(x: Array<Array<number>>, y: Array<Array<number>> | null, iteration: number, rate: number, batch: number): number; /** * Returns predicted values. * @param {Array<Array<number>>} x Sample data * @param {Array<Array<number>> | null} y Conditional values * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>, y: Array<Array<number>> | null): Array<Array<number>>; /** * Returns predicted values. * @param {Array<Array<number>>} x Sample data * @param {Array<Array<number>> | null} y Conditional values * @returns {Array<Array<number>>} Predicted values */ reduce(x: Array<Array<number>>, y: Array<Array<number>> | null): Array<Array<number>>; } export type LayerObject = import("./nns/graph").LayerObject; import NeuralNetwork from './neuralnetwork.js';