|

2026-03-11

アプリ

Style-Bert-VITS2 を RTX PRO 1000 Blackwell で動かすのに苦労した話

AI音声

RTX PRO 1000 Blackwellでsbv2を動かしたい

RTX PRO 1000 Blackwellを購入してStyle-Bert-VITS2を入れようとしたところ、諸々の環境変数にハマってしまいなかなか動かせず苦労しました。

結論から言うと、RTX PRO 1000上で学習を行うことはできず、別の内蔵GPUで動かすことで、学習まで行えるようになりました。

インストール、パッチ適用、アプリ起動までを一括で行うバッチファイルを作成しましたので備忘録として残しておきます。

 

検証環境

 

作成したスクリプト一覧

作成したのは下記の5ファイルです。

  • Install-Style-Bert-VITS2-RTX1000.bat

  • patch_requirements.ps1

  • patch_style_gen.ps1

  • patch_worker_127.ps1

  • patch_subprocess.ps1

ひとつずつ詳しく説明していきます。

 

1. Install-Style-Bert-VITS2-RTX1000.bat

@echo off REM ============================================================ REM Style-Bert-VITS2 セットアップスクリプト REM Git の確認/インストール、リポジトリのクローン、 REM Python 環境構築、依存関係インストール、モデル取得まで実行 REM ============================================================ setlocal enabledelayedexpansion chcp 65001 > NUL REM UTF-8 でコンソールと Python の入出力を統一 set PYTHONIOENCODING=utf-8 REM PowerShell 5.1 実行用(パッチスクリプト用) set "PS_CMD=PowerShell -Version 5.1 -ExecutionPolicy Bypass" REM Portable Git のダウンロード先(Git 未導入時に使用) set "DL_URL=https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/PortableGit-2.44.0-64-bit.7z.exe" set "DL_DST=%~dp0lib\PortableGit-2.44.0-64-bit.7z.exe" REM Style-Bert-VITS2 のリポジトリ URL set "REPO_URL=https://github.com/litagin02/Style-Bert-VITS2" REM スクリプトの存在するディレクトリに移動 pushd %~dp0 if not !errorlevel! equ 0 ( echo ERROR: Cannot change to script dir. & pause & exit /b 1 ) REM ライブラリ用フォルダがなければ作成 if not exist lib\ mkdir lib echo -------------------------------------------------- echo Checking Git Installation... echo -------------------------------------------------- git --version if not !errorlevel! equ 0 ( echo Git is not installed. Downloading PortableGit... REM Portable Git をダウンロードしてインストール curl -L "%DL_URL%" -o "%DL_DST%" if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) "%DL_DST%" -y if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) del "%DL_DST%" REM インストールした Git を PATH に追加 set "PATH=%~dp0lib\PortableGit\bin;%PATH%" git --version if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) ) echo -------------------------------------------------- echo Cloning repository... echo -------------------------------------------------- REM Style-Bert-VITS2 リポジトリをクローン git clone "%REPO_URL%" if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) echo -------------------------------------------------- echo Setting up Python environment... echo -------------------------------------------------- REM Python と venv を lib\python と Style-Bert-VITS2\venv にセットアップ call Setup-Python.bat ".\lib\python" ".\Style-Bert-VITS2\venv" if not !errorlevel! equ 0 ( echo Setup-Python.bat failed. & pause & popd & exit /b 1 ) REM クローンしたリポジトリのディレクトリに移動 pushd Style-Bert-VITS2 REM 仮想環境を有効化 call ".\venv\Scripts\activate.bat" if not !errorlevel! equ 0 ( echo venv activate failed. & pause & popd & exit /b 1 ) echo -------------------------------------------------- echo Installing uv... echo -------------------------------------------------- REM Python パッケージマネージャ uv をインストール pip install uv if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) echo -------------------------------------------------- echo Installing PyTorch (cu128)... echo -------------------------------------------------- REM CUDA 12.8 用 PyTorch をインストール uv pip install "torch==2.7.1" "torchaudio==2.7.1" --index-url https://download.pytorch.org/whl/cu128 if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) echo -------------------------------------------------- echo Patching requirements.txt... echo -------------------------------------------------- %PS_CMD% -File "%~dp0patch_requirements.ps1" echo -------------------------------------------------- echo Patching style_gen.py... echo -------------------------------------------------- %PS_CMD% -File "%~dp0patch_style_gen.ps1" echo -------------------------------------------------- echo Patching worker (127.0.0.1)... echo -------------------------------------------------- %PS_CMD% -File "%~dp0patch_worker_127.ps1" echo -------------------------------------------------- echo Patching subprocess.py (UTF-8 stderr)... echo -------------------------------------------------- %PS_CMD% -File "%~dp0patch_subprocess.ps1" echo -------------------------------------------------- echo Installing dependencies... echo -------------------------------------------------- REM requirements.txt から依存パッケージをインストール uv pip install -r requirements.txt if not !errorlevel! equ 0 ( pause & popd & exit /b 1 ) echo -------------------------------------------------- echo Downloading models (skip default voice models)... echo -------------------------------------------------- REM 初期化スクリプト実行(デフォルト音声モデルはスキップ) python initialize.py --skip_default_models echo -------------------------------------------------- echo Starting Style-Bert-VITS2 Editor... echo -------------------------------------------------- REM エディタをブラウザで起動 python server_editor.py --inbrowser pause popd popd endlocal

Style-Bert-VITS2 を一括で取得・セットアップし、最後にエディタを起動する Windows 用インストールバッチです。

公式のbatにパッチの適用などを加えました。

 

2. patch_requirements.ps1

$path = Join-Path (Get-Location) 'requirements.txt' $content = @' accelerate>=0.33.0,<0.36 faster-whisper>=0.12 g2p_en GPUtil gradio==5.34.0 jieba librosa==0.9.2 loguru nltk<=3.8.1 num2words numpy<2 onnx onnxconverter-common onnxruntime onnxruntime-directml; sys_platform == 'win32' onnxruntime-gpu; sys_platform != 'darwin' onnxsim-prebuilt protobuf==4.25 psutil punctuators pyannote.audio>=3.1.0,<4 pyloudnorm pyopenjtalk-dict pypinyin pyworld-prebuilt stable_ts tensorboard transformers==4.44.2 umap-learn soxr '@ [System.IO.File]::WriteAllText($path, $content, [System.Text.UTF8Encoding]::new($false)) Write-Host "Patched requirements.txt for Blackwell/CUDA128 (with version pins)."

RTX50 シリーズで動かしている方の記事を参考にtransformersなどにも修正を加えました。

変更内容は以下のとおりです。

パッケージ元の指定修正後理由・補足
accelerateなし>=0.33.0,<0.36互換性のため範囲指定。
cmudictあり削除本配布では未使用想定。
cn2anあり削除同上。
faster-whisper==0.10.1>=0.12新環境で動かすためバージョン緩和。
gradio>=4.32==5.34.0再現性のため固定。
pyannote.audio>=3.1.0>=3.1.0,<44.x は API 変更の可能性があるため上限設定。
torchtorch<2.4削除bat で cu128 用に別インストール。
torchaudiotorchaudio<2.4削除同上。
transformersなし==4.44.2日本語 BERT トークナイザー等の互換のため固定。
その他soxr を追加音声リサンプリング用。

 

3. patch_style_gen.ps1

$path = Join-Path (Get-Location) 'style_gen.py' if (-not (Test-Path -LiteralPath $path)) { Write-Error "style_gen.py not found at $path" exit 1 } $c = [System.IO.File]::ReadAllText($path, [System.Text.UTF8Encoding]::new($false)) if ($c -match 'torch\.serialization\.add_safe_globals') { Write-Host "style_gen.py: already patched (safe_globals)." exit 0 } if ($c -notmatch 'from pyannote\.audio\.core\.task import') { $c = $c -replace '(from pyannote\.audio import Inference, Model)\r?\n', "`$1`nfrom pyannote.audio.core.task import Problem, Resolution, Specifications`n" } $nl = [Environment]::NewLine $block = $nl + "# PyTorch 2.6+ safe_globals for pyannote checkpoint" + $nl + "torch.serialization.add_safe_globals([" + $nl + " torch.torch_version.TorchVersion," + $nl + " Specifications," + $nl + " Problem," + $nl + " Resolution," + $nl + "])" + $nl + $nl $c = $c -replace '(config = get_config\(\))\r?\n(\r?\n)*(model = Model\.from_pretrained)', "`$1`n`n$block`$3" [System.IO.File]::WriteAllText($path, $c, [System.Text.UTF8Encoding]::new($false)) Write-Host "Patched style_gen.py (PyTorch 2.6+ safe_globals for pyannote)."

PyTorch 2.6以降、torch.load()のデフォルト値がweights_only=Trueに変更されたので、許可リストを追加しています。

 

4. patch_worker_127.ps1

$base = Get-Location $clientPath = Join-Path $base 'style_bert_vits2\nlp\japanese\pyopenjtalk_worker\worker_client.py' $serverPath = Join-Path $base 'style_bert_vits2\nlp\japanese\pyopenjtalk_worker\worker_server.py' $encoding = [System.Text.UTF8Encoding]::new($false) $pattern = '\(socket\.gethostname\(\), port\)' $replacement = '("127.0.0.1", port)' foreach ($path in @($clientPath, $serverPath)) { if (-not (Test-Path -LiteralPath $path)) { Write-Warning "Not found: $path" continue } $c = [System.IO.File]::ReadAllText($path, $encoding) $c = $c -replace $pattern, $replacement [System.IO.File]::WriteAllText($path, $c, $encoding) Write-Host "Patched: $path (127.0.0.1)" }

私の環境では、今回のPCではsocket.gethostname()のままだとうまくいかなかったので、アドレスを指定することで解決しています。

 

5. patch_subprocess.ps1

$path = Join-Path (Get-Location) 'style_bert_vits2\utils\subprocess.py' $encoding = [System.Text.UTF8Encoding]::new($false) if (-not (Test-Path -LiteralPath $path)) { Write-Error "subprocess.py not found at $path" exit 1 } $c = [System.IO.File]::ReadAllText($path, $encoding) if ($c -match 'errors="replace"') { Write-Host "subprocess.py: already patched (errors=replace)." exit 0 } $c = $c -replace '(encoding="utf-8",)\r?\n(\s+)(check=False,)', "`$1`n`$2errors=`"replace`",`n`$2`$3" [System.IO.File]::WriteAllText($path, $c, $encoding) Write-Host "Patched subprocess.py (errors=replace for stderr decode)."

こちらも環境によるかと思いますが、UnicodeDecodeErrorが出てしまうのを防ぐために、UTF-8 として解釈できないバイトだけを Unicode の置換文字に置き換える処理を追加しています。

 

使用方法

以上で作成したスクリプトの紹介は終了です!

上記で紹介したPowerShellのスクリプトと、デフォルトのSetup-Python.batがあるディレクトリでbatを実行してください。

今回は社内利用のためにデフォルトでのモデルのダウンロードはスキップしています。

必要な方はbatファイルの--skip_default_modelsを削除してから実行してください。

 

実行結果

スクリーンショット_2026-02-19_110810

無事に学習まで実行できました。

内蔵GPUのIntel(R) Arc(TM) Pro 140T を使用して学習しているのは残念ですが、PyTorchの安定版がBlackwell世代の sm_120に対応していないのが主な原因です。深追いはせず、PyTorchのリリースを待とうと思います。

 

まとめ

RTX PRO 1000でStyle-Bert-VITS2を動かすべく検証しましたが、結果として学習は別の内蔵GPUで行うことになりました。

アプリが動かないよりはマシなので、ひとまずこの構成で使用して、安定版のリリースがあれば対応しようと思います。

 


この記事の著者

プロフィール画像

橋本 隼佑

朝日放送グループホールディングス株式会社 DX・メディアデザイン局 SDチーム 兼 DMチーム

新卒入社から2年半マスターでTVの運用監視業務を担当。2024年11月にDX・メディアデザイン局 SDチームに配属され周囲のタイピング速度に圧倒され中…