Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LCM-LoRAの学習で既存モデルからの再開 #50

Open
pap0170 opened this issue Jul 22, 2024 · 2 comments
Open

LCM-LoRAの学習で既存モデルからの再開 #50

pap0170 opened this issue Jul 22, 2024 · 2 comments

Comments

@pap0170
Copy link

pap0170 commented Jul 22, 2024

LCM-LoRAの学習で既存モデルからの再開(resume)が機能しない問題

こんにちは。sd-trainerを使用してLCM-LoRAの学習を行っています。既存のLCM-LoRAモデルから学習を再開したいのですが、resumeを指定しても新規学習が始まってしまう問題に直面しています。既存のLCM-LoRAモデルの読み込みは正常に機能しているようなのですが、学習結果や途中サンプルを見るとゼロからの学習が行われてしまっているようです。
現状このようなconfigファイルを用いて学習を実行しています。configファイルの設定で問題となる箇所はありますでしょうか?

main:
  model_path: "/checkpoint_path/"
  output_path: "output"
  seed: 4545
  sdxl: true
  clip_skip: null
  steps: 3
  epochs: 1
  save_steps: null
  save_epochs: 1
  sample_steps: null
  sample_epochs: 1
  log_level: "logging.INFO"
  wandb: sd-trainer

trainer:
  module: modules.lcm.lcm_trainer.LCMTrainer
  train_unet: false
  train_text_encoder: false
  te_device: "cuda"
  vae_device: "cuda"
  train_dtype: torch.float32
  weight_dtype: torch.bfloat16
  autocast_dtype: null
  vae_dtype: null
  lr: "1e-5"
  lr_scheduler: "constant"
  gradient_checkpointing: true
  validation_args:
    prompt: "1girl, solo"
    negative_prompt: "lowres, bad anatomy, bad hands, worst quality"
    width: 832
    height: 1216
    guidance_scale: 1.5
    num_inference_steps: 8
  additional_conf:
    lcm:
      guidance_scale: 7.0
      num_inference_steps: 30
      negative_prompt: "low quality"


dataset:
  module: modules.dummy.dummy_dataset.DummyDataset
  args:
    batch_size: 1

dataloader:
  module: torch.utils.data.DataLoader
  args:
      num_workers: 4
      shuffle: true

network:
  train: true
  resume: "/LCM-LoRA_path/"
  args:
    module: networks.lora.LoRAModule
    unet_key_filters: ["to_q", "to_k", "to_v", "to_out.0"]
    module_args:
      rank: 1
@laksjdjf
Copy link
Owner

resumeではなくargs.file_nameを試してみてください。

network:
  train: true
  args:
    module: networks.lora.LoRAModule
    file_name: "/LCM-LoRA_path/"

もしくはto_out.0to_out_0が正しいかも?

@pap0170
Copy link
Author

pap0170 commented Jul 24, 2024

args.file_nameを用いたところ正しく読み込めました。
to_out.0に関してもご指摘通りto_out_0が正しそうです。ありがとうございます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants