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