@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
118 lines (117 loc) • 3.14 kB
TypeScript
/**
* Diffusion model network
*/
export default class DiffusionModel {
/**
* @param {number} timesteps Number of timestep
* @param {LayerObject[]} [layers] Layers
*/
constructor(timesteps: number, layers?: LayerObject[]);
_timesteps: number;
_ulayers: LayerObject[];
_peDims: number;
_model: NeuralNetwork;
_epoch: number;
_beta: number[];
_alpha: number[];
_alphaCumprod: number[];
/**
* Epoch
* @type {number}
*/
get epoch(): number;
_addNoise(x: any, t: any): any[];
_build(): NeuralNetwork;
_layers: ({
type: string;
name: string;
out_size?: undefined;
l2_decay?: undefined;
activation?: undefined;
input?: undefined;
axis?: undefined;
} | {
type: string;
out_size: number;
l2_decay: number;
activation: string;
name: string;
input?: undefined;
axis?: undefined;
} | {
type: string;
input: string[];
axis: number;
name?: undefined;
out_size?: undefined;
l2_decay?: undefined;
activation?: undefined;
})[] | ({
type: string;
name: string;
out_size?: undefined;
l2_decay?: undefined;
activation?: undefined;
size?: undefined;
input?: undefined;
axis?: undefined;
} | {
type: string;
out_size: number;
l2_decay: number;
activation: string;
name?: undefined;
size?: undefined;
input?: undefined;
axis?: undefined;
} | {
type: string;
size: any[];
name?: undefined;
out_size?: undefined;
l2_decay?: undefined;
activation?: undefined;
input?: undefined;
axis?: undefined;
} | {
type: string;
size: number[];
name: string;
out_size?: undefined;
l2_decay?: undefined;
activation?: undefined;
input?: undefined;
axis?: undefined;
} | {
type: string;
input: string[];
axis: number;
name?: undefined;
out_size?: undefined;
l2_decay?: undefined;
activation?: undefined;
size?: undefined;
})[];
_positionEncoding(t: any, embdims: any): Matrix<T>;
/**
* Fit model.
* @param {Array<Array<number>>} train_x Training data
* @param {number} iteration Iteration count
* @param {number} rate Learning rate
* @param {number} batch Batch size
* @returns {{labeledLoss: number, unlabeledLoss: number}} Loss value
*/
fit(train_x: Array<Array<number>>, iteration: number, rate: number, batch: number): {
labeledLoss: number;
unlabeledLoss: number;
};
_dataShape: number[];
/**
* Returns generated data from the model.
* @param {number} n Number of generated data
* @returns {Array<Array<number>>} Generated values
*/
generate(n: number): Array<Array<number>>;
}
import NeuralNetwork from './neuralnetwork.js';
import Matrix from '../util/matrix.js';