@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
56 lines (55 loc) • 2.13 kB
TypeScript
/**
* @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';