gikoha’s blog

個人的メモがわり

AMD RX7800XT での SDXL, kohya

  • いままでNVIDIA RTX3060 12Gで画像生成等うまくできていたが、

    • メモリが少ない
    • コスパが悪い
    • RTX4060 16GBが 3060 12GBと同じくらいの生成速度なのに価格が異様に高い ¥69980
    • RTX4060Ti 16GBが ¥75000-¥85000
    • 一方RTX4070 12GBは¥84000で 12GB
  • 選定:AMDnVIDIA

    • rocmでうまくやれば4070並のスピード?
    • 今後さらに高速化しうる
    • 一方AMDのrocmに対するサポートの遅さにはちょっと。(Ubuntu24をサポートしていない)
  • 購入

    • RX7800XT asrockの一番安い奴¥79591を購入 チケット15000
    • システム電源は650Wの古い奴から700Wに組み替えた
  • Windows

    • Windowsへの導入は簡単で 4Kの Cyberpunkすら超スムースにベンチマークが動いて感動
    • これでしばらく戦える
  • Ubuntu

    • Ubuntu24

      • Ubuntu22の graphics driverだけなら入る (なくてもsafemodeでなくても立ち上がるからわからないが)
      • ただrocmは入らない ライブラリが足りないとのことでエラー
    • しかたないので Ubuntu 22 LTSを新規に別ディスクにインストール中

    • このページのスクリプトを使用した
  • g-pc.info 様のスクリプトを使用

    • webui, forge, kohya_ssをインストール
    • a1111はまともに生成できない forgeは使える Loraもいける DynamicPrompt Dataset Tag Editorも動作
    • WD14 Taggerはうまく動作しない
      • インストールするとエラーでこける
      • "ValueError: JAX requires ml_dtypes version 0.4.0 or newer; installed version is 0.3.2."
    • スタンドアローンの wd14-taggerがあったからこれを使うことにした
    • パッチのamdgpu/rocmは6.0.2 でやや古いので 6.1.2にしてみるとどうだろうか
  • standalone wd14 taggerubuntu にインストール

  git clone https://github.com/corkborg/wd14-tagger-standalone
  cd wd14-tagger-standalone                                   
  python3 -m venv venv
  source venv/bin/activate        
  pip3 install -r requirements.txt
  • 使うときは
    • source venv/bin/activate
    • python3 run.py --dir 10_sls_xxxxxx みたいにして使う 自動的に学習データを SmilingWolfからひっぱってくる
    • タグのexcludeはできるが追加はできないので Trigger Wordsは自分で入れないといけないがそれは sed あたりでなんとかなるだろう
sed s/^/trigger word,/ --in-place=.bak  *.txt
  • m1 macでも普通にタグづけできた

  • つーか https://github.com/lshqqytiger/stable-diffusion-webui-amdgpu をクローンしてそこのvenv上に g-pc.info 様のtorch/torchvisionをインストールしたら普通にWebUI動いて WD14 Taggerもインストールできました。無駄骨だったね!

  • a1111はforgeとほぼ同じスピードだけれど hires.fixでメモリ食うから -export COMMANDLINE_ARGS="--listen --enable-insecure-extension-access --no-half-v ae --medvram-sdxl --opt-sdp-attention --opt-sdp-no-mem-attention"とした
  • kohya_ss
    • まずgui.shのコメントが間違っていた
    #RX7800XT?/RX7700XT?
    export HSA_OVERRIDE_GFX_VERSION=11.0.1  // 元:#export HSA_OVERRIDE_GFX_VERSION=11.0.3
    export HCC_AMDGPU_TARGET=gfx1101
  • これが正しい

  • いままでの学習設定では Parameters-Advanced-Blocks-CrossAttentionで xformersになっていたが これはnoneにしておく必要がある

  • train開始でout of memoryが出る場合 Loraじゃなくて Dreamboothでtrainしていませんか?check it out!

  • 生成は遅めだけれど学習はやけにスピードが速い気がする