From 79c87701e7fc6f47f1ea8adc75834284b007d3ab Mon Sep 17 00:00:00 2001 From: Jaret Burkett Date: Wed, 16 Apr 2025 13:45:21 -0600 Subject: [PATCH] Add hidream to the ui --- config/examples/train_lora_hidream_48.yaml | 3 ++- ui/src/app/jobs/new/SimpleJob.tsx | 2 +- ui/src/app/jobs/new/jobConfig.ts | 9 ++++++--- ui/src/app/jobs/new/options.ts | 15 +++++++++++++++ ui/src/types.ts | 3 +++ version.py | 2 +- 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/config/examples/train_lora_hidream_48.yaml b/config/examples/train_lora_hidream_48.yaml index ea9c7dff..f915f4c7 100644 --- a/config/examples/train_lora_hidream_48.yaml +++ b/config/examples/train_lora_hidream_48.yaml @@ -29,7 +29,8 @@ config: # it is probably best to ignore the mixture of experts since only 2 are active each block. It works activating it, but I wouldnt. # proper training of it is not fully implemented ignore_if_contains: - - "ff_i" + - "ff_i.experts" + - "ff_i.gate" save: dtype: bfloat16 # precision to save save_every: 250 # save every this many steps diff --git a/ui/src/app/jobs/new/SimpleJob.tsx b/ui/src/app/jobs/new/SimpleJob.tsx index 75bab27d..84d98330 100644 --- a/ui/src/app/jobs/new/SimpleJob.tsx +++ b/ui/src/app/jobs/new/SimpleJob.tsx @@ -283,7 +283,7 @@ export default function SimpleJob({ options={[ { value: 'sigmoid', label: 'Sigmoid' }, { value: 'linear', label: 'Linear' }, - { value: 'flux_shift', label: 'Flux Shift' }, + { value: 'shift', label: 'Shift' }, ]} /> { @@ -83,6 +84,20 @@ export const options = { 'config.process[0].train.noise_scheduler': ['flowmatch', 'flowmatch'], }, }, + { + name_or_path: 'HiDream-ai/HiDream-I1-Full', + defaults: { + // default updates when [selected, unselected] in the UI + 'config.process[0].model.quantize': [true, false], + 'config.process[0].model.quantize_te': [true, false], + 'config.process[0].model.arch': ['hidream', defaultModelArch], + 'config.process[0].sample.sampler': ['flowmatch', 'flowmatch'], + 'config.process[0].train.noise_scheduler': ['flowmatch', 'flowmatch'], + 'config.process[0].train.lr': [0.0002, 0.0001], + 'config.process[0].train.timestep_type': ['shift', 'sigmoid'], + 'config.process[0].network.network_kwargs.ignore_if_contains': [['ff_i.experts', 'ff_i.gate'], []], + }, + }, { name_or_path: 'ostris/objective-reality', dev_only: true, diff --git a/ui/src/types.ts b/ui/src/types.ts index 9841553e..fdac4d46 100644 --- a/ui/src/types.ts +++ b/ui/src/types.ts @@ -55,6 +55,9 @@ export interface NetworkConfig { linear_alpha: number; lokr_full_rank: boolean; lokr_factor: number; + network_kwargs: { + ignore_if_contains: string[]; + } } export interface SaveConfig { diff --git a/version.py b/version.py index bccbcfdf..88364324 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -VERSION = "0.2.5" \ No newline at end of file +VERSION = "0.2.6" \ No newline at end of file