Add config type to frontend
Signed-off-by: Felipe Cardoso <felipe.cardoso@hotmail.it>
This commit is contained in:
105
frontend/src/types/config.ts
Normal file
105
frontend/src/types/config.ts
Normal file
@@ -0,0 +1,105 @@
|
||||
// src/types/config.ts
|
||||
|
||||
// First, let's define all the nested configuration types
|
||||
interface EMAConfig {
|
||||
use_ema?: boolean;
|
||||
ema_decay?: number;
|
||||
}
|
||||
|
||||
interface TrainConfig {
|
||||
batch_size: number;
|
||||
bypass_guidance_embedding?: boolean;
|
||||
timestep_type?: string;
|
||||
steps: number;
|
||||
gradient_accumulation?: number;
|
||||
train_unet?: boolean;
|
||||
train_text_encoder?: boolean;
|
||||
gradient_checkpointing?: boolean;
|
||||
noise_scheduler?: string;
|
||||
optimizer?: string;
|
||||
lr?: number;
|
||||
ema_config?: EMAConfig;
|
||||
dtype?: string;
|
||||
do_paramiter_swapping?: boolean;
|
||||
paramiter_swapping_factor?: number;
|
||||
skip_first_sample?: boolean;
|
||||
disable_sampling?: boolean;
|
||||
}
|
||||
|
||||
interface ModelConfig {
|
||||
name_or_path: string;
|
||||
is_flux?: boolean;
|
||||
quantize?: boolean;
|
||||
quantize_te?: boolean;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
interface SaveConfig {
|
||||
dtype?: string;
|
||||
save_every?: number;
|
||||
max_step_saves_to_keep?: number;
|
||||
save_format?: string;
|
||||
}
|
||||
|
||||
interface DatasetConfig {
|
||||
folder_path: string;
|
||||
caption_ext?: string;
|
||||
caption_dropout_rate?: number;
|
||||
shuffle_tokens?: boolean;
|
||||
resolution?: number[];
|
||||
}
|
||||
|
||||
interface ProcessConfig {
|
||||
type: string;
|
||||
training_folder: string;
|
||||
performance_log_every?: number;
|
||||
device?: string;
|
||||
trigger_word?: string;
|
||||
save?: SaveConfig;
|
||||
datasets: DatasetConfig[];
|
||||
train: TrainConfig;
|
||||
model: ModelConfig;
|
||||
sample: SampleConfig;
|
||||
}
|
||||
|
||||
interface MetaConfig {
|
||||
name?: string;
|
||||
version?: string;
|
||||
}
|
||||
|
||||
// The main configuration interfaces
|
||||
interface ConfigSection {
|
||||
name: string;
|
||||
process: ProcessConfig[];
|
||||
}
|
||||
|
||||
interface Config {
|
||||
job: string;
|
||||
config: ConfigSection;
|
||||
meta: MetaConfig;
|
||||
}
|
||||
|
||||
export type {
|
||||
Config,
|
||||
ConfigSection,
|
||||
ProcessConfig,
|
||||
DatasetConfig,
|
||||
SaveConfig,
|
||||
TrainConfig,
|
||||
ModelConfig,
|
||||
SampleConfig,
|
||||
EMAConfig,
|
||||
MetaConfig
|
||||
};
|
||||
Reference in New Issue
Block a user