Windows 2022
Sponsored Link

Stable Video Diffusion : インストール2024/02/27

 

ディープラーニングの Text-to-Image モデルである [Stable Diffusion] のインストールです。

[1]

こちらを参考に、Python をインストールしておきます

[2]

こちらを参考に、CUDA をインストールしておきます

[3] PowerShell を管理者権限で起動して作業します。
まずは [FFmpeg] をインストールします。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Invoke-WebRequest -Uri "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip" -OutFile "ffmpeg-master-latest-win64-gpl.zip" 

PS C:\Users\Administrator> Expand-Archive -Path ./ffmpeg-master-latest-win64-gpl.zip 

PS C:\Users\Administrator> Move-Item ./ffmpeg-master-latest-win64-gpl/ffmpeg-master-latest-win64-gpl "C:/Program Files/FFmpeg" 

# パスを通す
PS C:\Users\Administrator> $currentPath = [Environment]::GetEnvironmentVariable("Path", "Machine") 
PS C:\Users\Administrator> $currentPath += ";C:\Program Files\FFmpeg\bin" 
PS C:\Users\Administrator> [Environment]::SetEnvironmentVariable("Path", $currentPath, "Machine") 
PS C:\Users\Administrator> $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User") 

PS C:\Users\Administrator> ffmpeg -version 
ffmpeg version N-113824-ga3ca4beeaa-20240226 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13.2.0 (crosstool-NG 1.25.0.232_c175b21)
.....
.....
[4] [Git] をインストールします。
PS C:\Users\Administrator> Invoke-WebRequest -Uri "https://github.com/git-for-windows/git/releases/download/v2.43.0.windows.1/Git-2.43.0-64-bit.exe" -OutFile "Git-2.43.0-64-bit.exe" 

# サイレントモードでインストール
PS C:\Users\Administrator> ./Git-2.43.0-64-bit.exe /silent 

# インストールプロセスが起動
PS C:\Users\Administrator> Get-Process -Name "Git*", "setup*" 

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    134      11     4820       7880       0.16   2284   0 Git-2.43.0-64-bit
    243      19    74912      89144      12.83   4256   0 Git-2.43.0-64-bit.tmp

# 上記プロセスが終了すればインストール完了
PS C:\Users\Administrator> Get-Process -Name "Git*", "setup*" 


# 環境変数を再読み込み
PS C:\Users\Administrator> $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User") 

PS C:\Users\Administrator> git -v 
git version 2.43.0.windows.1
[5] [Stable Video Diffusion] をインストールします。
# Stable Video Diffusion 用のファイアウォールルール追加
PS C:\Users\Administrator> New-NetFirewallRule `
-Name "Stable Video Diffusion Server Port" `
-DisplayName "Stable Video Diffusion Server Port" `
-Description 'Allow Stable Video Diffusion Server Port' `
-Profile Any `
-Direction Inbound `
-Action Allow `
-Protocol TCP `
-Program Any `
-LocalAddress Any `
-LocalPort 8501 

PS C:\Users\Administrator> git clone https://github.com/Stability-AI/generative-models.git 
PS C:\Users\Administrator> cd generative-models 
PS C:\Users\Administrator\generative-models> pip3 install https://huggingface.co/r4ziel/xformers_pre_built/resolve/main/triton-2.0.0-cp310-cp310-win_amd64.whl 

.....
.....
Successfully installed cmake-3.28.3 triton-2.0.0

PS C:\Users\Administrator\generative-models> pip3 install -r ./requirements/pt2.txt 

.....
.....
Successfully installed appdirs-1.4.4 black-23.7.0 blinker-1.7.0 braceexpand-0.1.7 cachetools-5.3.3 chardet-5.1.0 docker-pycreds-0.4.0 einops-0.7.0 fairscale-0.4.13 fire-0.5.0 invisible-watermark-0.2.0 jedi-0.19.1 kornia-0.6.9 markdown-it-py-3.0.0 mdurl-0.1.2 mypy-extensions-1.0.0 natsort-8.4.0 ninja-1.11.1.1 numpy-1.26.4 omegaconf-2.3.0 opencv-python-4.6.0.66 parso-0.8.3 pathspec-0.12.1 pudb-2024.1 pyarrow-15.0.0 pydeck-0.8.1b0 pygments-2.17.2 pyre-extensions-0.0.29 pytorch-lightning-2.0.1 rich-13.7.0 sentry-sdk-1.40.5 setproctitle-1.3.3 streamlit-1.31.1 streamlit-keyup-0.2.0 tenacity-8.2.3 tensorboardx-2.6 termcolor-2.4.0 tokenizers-0.12.1 toml-0.10.2 torchaudio-2.0.2 torchdata-0.6.1 tornado-6.4 transformers-4.19.1 typing-inspect-0.9.0 tzlocal-5.2 urllib3-1.26.18 urwid-2.6.5 urwid-readline-0.14 validators-0.22.0 wandb-0.16.3 watchdog-4.0.0 webdataset-0.2.86 wheel-0.42.0

PS C:\Users\Administrator\generative-models> pip3 install ./ 

.....
.....
Successfully built sgm
Installing collected packages: sgm
Successfully installed sgm-0.1.0

# lowvram_mode ⇒ グラフィックカードのメモリー容量が少ない場合は値を [True] に変更
# * 参考までに RTX 3060 12G RAM の 1 枚挿しでは ここを変更しないとまともに動かない
PS C:\Users\Administrator\generative-models> Get-Content ./scripts/demo/streamlit_helpers.py | Select-String "^lowvram_mode" 
lowvram_mode = False
PS C:\Users\Administrator\generative-models> (Get-Content ./scripts/demo/streamlit_helpers.py) | foreach { $_ -replace "lowvram_mode = False","lowvram_mode = True" } | Set-Content ./scripts/demo/streamlit_helpers.py 
PS C:\Users\Administrator\generative-models> Get-Content ./scripts/demo/streamlit_helpers.py | Select-String "^lowvram_mode" 
lowvram_mode = True

# モデルをダウンロード
# モデルは下記サイトから svd や svd_xt を取得可
# https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/tree/main
# https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt/tree/main
PS C:\Users\Administrator\generative-models> mkdir ./checkpoints 
PS C:\Users\Administrator\generative-models> Invoke-WebRequest -Uri "https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/resolve/main/svd.safetensors?download=true" -OutFile "./checkpoints/svd.safetensors" 

# サーバーとして起動
PS C:\Users\Administrator\generative-models> Copy-Item ./scripts/demo/video_sampling.py ./ 
PS C:\Users\Administrator\generative-models> streamlit run video_sampling.py --server.address=0.0.0.0 

      Welcome to Streamlit!

      If you’d like to receive helpful onboarding emails, news, offers, promotions,
      and the occasional swag, please enter your email address below. Otherwise,
      leave this field blank.

      Email:

  You can find our privacy policy at https://streamlit.io/privacy-policy

  Summary:
  - This open source library collects usage statistics.
  - We cannot see and do not store information contained inside Streamlit apps,
    such as text, charts, images, etc.
  - Telemetry data is stored in servers in the United States.
  - If you'd like to opt out, add the following to %userprofile%/.streamlit/config.toml,
    creating that file if necessary:

    [browser]
    gatherUsageStats = false


  You can now view your Streamlit app in your browser.

  URL: http://0.0.0.0:8501
[6] 起動時に表示されたポート 8501 番へアクセスすると [Stable Video Diffusion] を利用することができます。
まずは [Load Model] にチェックを入れます。
[7] 初回のロードはかなり時間がかかります。
ロードが終了すると以下の画面になります。以下のエラーは無視して OK です。
次に、[Browse files] をクリックして、動画にしたい画像を選択します。
[8] 選択した画像が読み込まれると画面に表示されます。
ちなみに、以下のネコちゃんは [Stable Diffusion] で生成した画像です
[9]

ページを下へスクロールして、各値を調整します。
少なくとも、以下の値は要変更です。

左ペインの [H] と [W] ⇒ 画像の縦横に合わせる
[T] フレームの値 ⇒ [svd] でのデフォルト値は 14 だが Out of Memory が発生する場合は減らす

各値を調整したら [Sample] ボタンをクリックして動画を生成します。
[10] 正常に動画が生成されると画面上に表示されます。
RTX 3060 12G RAM 1 枚では、[svd] のデフォルト T フレーム 14 の設定で 2 秒の動画を生成するのがやっとでした。
関連コンテンツ