UNPKG

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

Version:

Data analysis model package without any dependencies

65 lines (64 loc) 2.43 kB
/** * @ignore * @typedef {import("./nns/graph").LayerObject} LayerObject */ /** * Generative adversarial networks */ export default class GAN { /** * @param {number} noise_dim Number of noise dimension * @param {LayerObject[]} g_hidden Layers of generator * @param {LayerObject[]} d_hidden Layers of discriminator * @param {string} g_opt Optimizer of the generator network * @param {string} d_opt Optimizer of the discriminator network * @param {number | null} class_size Class size for conditional type * @param {'' | 'conditional'} type Type name */ constructor(noise_dim: number, g_hidden: LayerObject[], d_hidden: LayerObject[], g_opt: string, d_opt: string, class_size: number | null, type: '' | 'conditional'); _type: "" | "conditional"; _noise_dim: number; _epoch: number; _generatorNetLeyers: { type: string; name: string; }[]; _discriminator: NeuralNetwork; _g_opt: string; /** * 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} step Iteration count * @param {number} gen_rate Learning rate for generator * @param {number} dis_rate Learning rate for discriminator * @param {number} batch Batch size * @returns {{generatorLoss: number, discriminatorLoss: number}} Loss value */ fit(x: Array<Array<number>>, y: Array<Array<number>> | null, step: number, gen_rate: number, dis_rate: number, batch: number): { generatorLoss: number; discriminatorLoss: number; }; _generator: NeuralNetwork; /** * Returns probabilities of the data is true. * @param {Array<Array<number>>} x Sample data * @param {*} y Conditional values * @returns {Array<Array<number>>} Predicted values */ prob(x: Array<Array<number>>, y: any): Array<Array<number>>; /** * Returns generated data from the model. * @param {number} n Number of generated data * @param {Array<Array<number>> | null} y Conditional values * @returns {Array<Array<number>>} Generated values */ generate(n: number, y: Array<Array<number>> | null): Array<Array<number>>; } export type LayerObject = import("./nns/graph").LayerObject; import NeuralNetwork from './neuralnetwork.js';