mirror of
https://github.com/ostris/ai-toolkit.git
synced 2026-02-19 03:49:58 +00:00
174 lines
3.1 KiB
TypeScript
174 lines
3.1 KiB
TypeScript
/**
|
|
* GPU API response
|
|
*/
|
|
|
|
export interface GpuUtilization {
|
|
gpu: number;
|
|
memory: number;
|
|
}
|
|
|
|
export interface GpuMemory {
|
|
total: number;
|
|
free: number;
|
|
used: number;
|
|
}
|
|
|
|
export interface GpuPower {
|
|
draw: number;
|
|
limit: number;
|
|
}
|
|
|
|
export interface GpuClocks {
|
|
graphics: number;
|
|
memory: number;
|
|
}
|
|
|
|
export interface GpuFan {
|
|
speed: number;
|
|
}
|
|
|
|
export interface GpuInfo {
|
|
index: number;
|
|
name: string;
|
|
driverVersion: string;
|
|
temperature: number;
|
|
utilization: GpuUtilization;
|
|
memory: GpuMemory;
|
|
power: GpuPower;
|
|
clocks: GpuClocks;
|
|
fan: GpuFan;
|
|
}
|
|
|
|
export interface GPUApiResponse {
|
|
hasNvidiaSmi: boolean;
|
|
gpus: GpuInfo[];
|
|
error?: string;
|
|
}
|
|
|
|
/**
|
|
* Training configuration
|
|
*/
|
|
|
|
export interface NetworkConfig {
|
|
type: string;
|
|
linear: number;
|
|
linear_alpha: number;
|
|
lokr_full_rank: boolean;
|
|
lokr_factor: number;
|
|
network_kwargs: {
|
|
ignore_if_contains: string[];
|
|
}
|
|
}
|
|
|
|
export interface SaveConfig {
|
|
dtype: string;
|
|
save_every: number;
|
|
max_step_saves_to_keep: number;
|
|
save_format: string;
|
|
push_to_hub: boolean;
|
|
}
|
|
|
|
export interface DatasetConfig {
|
|
folder_path: string;
|
|
mask_path: string | null;
|
|
mask_min_value: number;
|
|
default_caption: string;
|
|
caption_ext: string;
|
|
caption_dropout_rate: number;
|
|
shuffle_tokens?: boolean;
|
|
is_reg: boolean;
|
|
network_weight: number;
|
|
cache_latents_to_disk?: boolean;
|
|
resolution: number[];
|
|
controls: string[];
|
|
}
|
|
|
|
export interface EMAConfig {
|
|
use_ema: boolean;
|
|
ema_decay: number;
|
|
}
|
|
|
|
export interface TrainConfig {
|
|
batch_size: number;
|
|
bypass_guidance_embedding?: boolean;
|
|
steps: number;
|
|
gradient_accumulation: number;
|
|
train_unet: boolean;
|
|
train_text_encoder: boolean;
|
|
gradient_checkpointing: boolean;
|
|
noise_scheduler: string;
|
|
timestep_type: string;
|
|
content_or_style: string;
|
|
optimizer: string;
|
|
lr: number;
|
|
ema_config?: EMAConfig;
|
|
dtype: string;
|
|
unload_text_encoder: boolean;
|
|
optimizer_params: {
|
|
weight_decay: number;
|
|
};
|
|
diff_output_preservation: boolean;
|
|
diff_output_preservation_multiplier: number;
|
|
diff_output_preservation_class: string;
|
|
}
|
|
|
|
export interface QuantizeKwargsConfig {
|
|
exclude: string[];
|
|
}
|
|
|
|
export interface ModelConfig {
|
|
name_or_path: string;
|
|
quantize: boolean;
|
|
quantize_te: boolean;
|
|
quantize_kwargs?: QuantizeKwargsConfig;
|
|
arch: string;
|
|
low_vram: boolean;
|
|
model_kwargs: {[key: string]: any};
|
|
}
|
|
|
|
export interface SampleConfig {
|
|
sampler: string;
|
|
sample_every: number;
|
|
width: number;
|
|
height: number;
|
|
prompts: string[];
|
|
neg: string;
|
|
seed: number;
|
|
walk_seed: boolean;
|
|
guidance_scale: number;
|
|
sample_steps: number;
|
|
num_frames: number;
|
|
fps: number;
|
|
}
|
|
|
|
export interface ProcessConfig {
|
|
type: 'ui_trainer';
|
|
sqlite_db_path?: string;
|
|
training_folder: string;
|
|
performance_log_every: number;
|
|
trigger_word: string | null;
|
|
device: string;
|
|
network?: NetworkConfig;
|
|
save: SaveConfig;
|
|
datasets: DatasetConfig[];
|
|
train: TrainConfig;
|
|
model: ModelConfig;
|
|
sample: SampleConfig;
|
|
}
|
|
|
|
export interface ConfigObject {
|
|
name: string;
|
|
process: ProcessConfig[];
|
|
}
|
|
|
|
export interface MetaConfig {
|
|
name: string;
|
|
version: string;
|
|
}
|
|
|
|
export interface JobConfig {
|
|
job: string;
|
|
config: ConfigObject;
|
|
meta: MetaConfig;
|
|
}
|