UNPKG

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

Version:

Data analysis model package without any dependencies

79 lines (78 loc) 2.61 kB
/** * Deep Q-Network agent */ export default class DQNAgent { /** * @param {RLEnvironmentBase} env Environment * @param {number} resolution Resolution of actions * @param {LayerObject[]} layers Network layers * @param {string} optimizer Optimizer of the network */ constructor(env: RLEnvironmentBase, resolution: number, layers: LayerObject[], optimizer: string); _env: RLEnvironmentBase; _net: DQN; /** * DQN Method * @param {'DQN' | 'DDQN'} value New method name */ set method(value: "DQN" | "DDQN"); terminate(): void; /** * Returns a score. * @returns {Array<Array<Array<number>>>} Score values */ get_score(): Array<Array<Array<number>>>; /** * Returns a action. * @param {*[]} state Current states * @param {number} greedy_rate Greedy rate * @returns {*[]} Action */ get_action(state: any[], greedy_rate?: number): any[]; /** * Update model. * @param {*[]} action Action * @param {*[]} state Current states * @param {*[]} next_state Next states * @param {number} reward Reward * @param {boolean} done Done epoch or not * @param {number} learning_rate Learning rate * @param {number} batch Batch size * @returns {number=} Loss value */ update(action: any[], state: any[], next_state: any[], reward: number, done: boolean, learning_rate: number, batch: number): number | undefined; } export type LayerObject = import("./nns/graph").LayerObject; import { RLEnvironmentBase } from '../rl/base.js'; declare class DQN { constructor(env: any, resolution?: number, layers?: any[], optimizer?: string); _resolution: number; _states: any; _actions: any; _action_sizes: any; _gamma: number; _epoch: number; _method: string; _memory: any[]; _max_memory_size: number; _batch_size: number; _do_update_step: number; _fix_param_update_step: number; _layers: { type: string; }[]; _target: NeuralNetwork; _net: NeuralNetwork; set method(value: any); get_best_action(state: any): any[]; _state_to_input(s: any): any[]; get_score(): any[]; _states_data: any[]; _action_pos(action: any): number; _pos_action(i: any): any[]; update(action: any, state: any, next_state: any, reward: any, done: any, learning_rate: any, batch: any): number; _update_dqn(data: any, learning_rate: any, batch: any): number; _update_ddqn(data: any, learning_rate: any, batch: any): number; } import NeuralNetwork from './neuralnetwork.js'; export {};