LoginSignup
13
12

More than 1 year has passed since last update.

windows10,WSL2でESPNetの環境構築【音声合成】

Last updated at Posted at 2022-03-06

はじめに

windows環境で音声合成の学習を回したい人向けの記事です。
windowsで別の作業をやりながら学習が回せます。

1. WSL2をインストールする

こちらのページの手順に従って進めていきます。

1.1 管理者権限でPowerShellを起動

デスクトップ画面左下にある検索バーに「powershell」と入力して、
「管理者として実行する」をクリックします。

wsl_powershell_launch.png


するとタスクバーに管理者マークのタブが出てくるのでこれをクリック

user_check.png


はい」をクリックして、PowerShellを管理者権限で開きます。

user_check_yes.png


するとこのような画面が出てきます。

image.png

1.2 インストールコマンドを実行

PowerShellに
wsl --install
と入力してエンターキーを押します。
image.png


実行が完了するとこのような画面になります。
機能を有効化するには、pcを再起動する必要があるので、再起動します。
image.png

1.3 WSLのバージョン確認

PCを再起動したら、左下の検索バーで「powershell」と入力し、そのままエンターキーを押して、通常モードでPowerShellを起動します。

PowerShellが起動したらwsl -l -vと打ち込んでエンターキーを押します。

VERSIONの下の数字が2であればOKです。

wsl_version_check.png

バージョンが2ではなかった場合

バージョンが2ではなかった場合は、wsl --set-default-version 2と入力してエンターキーを押します。

そして再度wsl -l -vと入力してエンターキーを押して、バージョンが2と表示されればOKです。

1.4 windowsのバージョン確認

※2022/03/20追記
windowsのバージョンが21H2以上でないとcudaがうまく動かないので、以下のように
winver
と入力してエンターを押して、windowsのバージョンを確認してください。

image.png

image.png

バージョンが21H1以下だった場合、アップデートして再起動してください。

1.5 Ubuntuのセットアップ

1.3 WSLのバージョン確認と同様に、通常モードでPowerShellを起動します。

PowerShellが起動したら、Ubuntuと打ち込んでエンターキーを押します。
すると、Installing, this may take a few minutes...と表示されるので、インストールが完了するまでしばらく待ちます。

エラーが出てUbuntuが起動できないとき このようなエラーが出てUbuntuが起動できない場合、BIOSの設定を変える必要があります。 CPUの仮想化が無効になっているのを、有効にしなければなりません。

WslRegisterDistribution faild with error: 0x80370102
Error: 0x80370102 ?????????????????????????????????????

image.png

以下は、WSLのインストール手順の過程で出たエラーの対処の記録です。
BIOSは人によって違うと思いますので、そこは各自調べていただけると幸いです。
参考サイトを張っておきます。
http://intint000.blog96.fc2.com/blog-entry-2072.html

_1 PCを再起動してBIOSを起動する

起動するときに「del」キーを押しっぱなしにして、BIOS画面を表示させます。
起動するとこのような画面になります。(使ってるマザーボードによって異なります)

MSI_SnapShot.png

_2 Advancedの項目に切り替える

MSI_SnapShot_00.png

_3 OCの項目を選択

MSI_SnapShot_01.png

_4 CPUの機能を選択

MSI_SnapShot_02.png

_5 SVM Modeを有効にする

MSI_SnapShot_03.png

MSI_SnapShot_04.png

MSI_SnapShot_05.png

_6 BIOSを閉じて起動する

これでPowerShellでUbuntuと入力すると起動するはずです。

image.png


インストールが完了すると、ユーザーネームの入力が求められます。
好きな名前を設定してください。
image.png


名前を設定すると、次にパスワードの設定を求められます。
パスワードを打ち込んでも何も表示されず、困惑してしまうかもしれませんが、
これは仕様です。何も表示されていなくてもちゃんと入力は受け取っています。

image.png


確認のため、もう一度パスワードの入力を求められます。
間違えないようにもう一度同じパスワードを打ち込みましょう。
image.png


パスワードを再入力して、
このような表示が出たらセットアップ完了です。

image.png

2. CUDA WSL-Ubuntu版をインストールする

※これはNvidia製のGPU環境用の項目です。ESPNetはCPUでの学習もできますが、時間がかかるのでGPUを導入することを推奨します。

参考サイト:https://takake-blog.com/wsl-nvidia-cuda/

2.1 windowsにNvidia driverがインストール済みか確認

※2022/03/20追記
PowerShellを開いて、
nvidia-smi
と入力してエンター。
以下の画像のように表示されればOKです。

image.png

画像のように表示されない場合は、こちらからドライバをダウンロード、インストールしてください。

2.2 インストールコマンドの実行

PowerShellのまま作業をしてもいいのですが、謎の背景などで見ずらいので、一旦PowerShellを閉じます。
そして、左下の検索バーでubuntuと入力してエンターキーを押します。

image.png


起動するとこのような画面になります。

image.png


この後の手間を省略するために、一旦sudo echo testと入力してエンター。
すると、パスワードの入力を求められるので、4. Ubuntuのセットアップの項で設定したパスワードを入力してエンター。
するとこのようにtestと表示されるはずです。
image.png


CUDAのインストールコマンドを以下に示します。(参考:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local)

CUDA11.6_install_command
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.1-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
echo "wsl ubuntu cuda toolkit is installed"

このコマンドをUbuntuのウィンドウにコピペしてください。
※ペーストはctrl+Vではなく右クリックです。


インストールが終わったら、以下のコマンドで確認します。
apt show cudaと入力してエンター。

このように表示されればOKです。
image.png

3. Nvidia CUDA Compilerをインストールする

※これはNvidia製のGPU環境用の項目です。ESPNetはCPUでの学習もできますが、時間がかかるのでGPUを導入することを推奨します。

以下のコマンドを実行します。
sudo apt install nvidia-cuda-toolkit -y

インストールが完了したら、nvcc -Vと入力してエンターで確認。
このように表示されればOKです。
image.png

4. ESPNetの環境構築

公式ドキュメント:https://espnet.github.io/espnet/installation.html
まず、ESPNetの環境構築をするうえで必要なパッケージをインストールします。
sudo apt install make g++ unzip -yと入力してエンター。(コピペ推奨)
パスワードの入力を求めれらたら適宜入力してエンター。

インストールされているかの確認

上のコマンドは、make , g++ , unzipの3つのパッケージをインストールするコマンドです。
なので
apt show [パッケージ名]
のようにそれぞれで指定して確認できます。
E: No packages found」などと表示されなければ、正常にインストールされています。

sudo apt-get install cmake sox libsndfile1-dev ffmpeg flac -yと入力してエンター。(コピペ推奨)
パスワードの入力を求めれらたら適宜入力してエンター。

インストールが終わったら、以下のコマンドをコピペしてESPNetの環境構築を行います。
※ペーストはctrl+Vではなく右クリックです。

ESNet Setup.
git clone https://github.com/espnet/espnet
cd espnet/tools
./setup_anaconda.sh miniconda espnet 3.8
make TH_VERSION=1.10.1 CUDA_VERSION=11.3
cd miniconda/bin
./conda init
cd ../../../
esp_root=`pwd`
echo "export ESPNET_ROOT=$esp_root" >> ~/.bashrc
mkdir data_root
echo "export TTS_DATA_ROOT=${esp_root}/data_root" >> ~/.bashrc
source ~/.bashrc
conda activate espnet
pip install matplotlib pyopenjtalk==0.2.0 gdown espnet_model_zoo
cd egs2
echo "espnet is installed."

処理が終わったら、lsと入力してエンター。
このように表示されればOKです。
image.png

cudaがちゃんと動くか確認

上の画像の状態で(condaのespnet環境下で)pythonと打ち込んでエンター。
pythonが起動したら
import torch
と入力してエンター。
print(torch.cuda.is_available())
と入力してエンター。

結果がTrueと表示されていれば問題ありません。

結果がFalseだった場合

pytorchが正常に機能していない可能性が高いです。
公式サイトを参考にLTS版のpytorchをインストールし直します。

cudaの確認の続きからの操作:
exit()と入力してエンター。

・以下をコピペしてエンター。

pip3 install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html

これで再度cudaの動作確認をしてTrueであれば問題ないです。

おわりに

※2022/03/29追記
GTX1080Ti , CUDA11.1 , pytorch 1.8.2 LTS
上記の環境でRuntimeError:CUDAエラー:CUBLAS_STATUS_EXECUTION_FAILED 'cublasGemmEx(handle、opa、opb、m、n、k、& falpha、a、CUDA_R_16F、lda、b、CUDA_R_16F、ldb、& fbeta、c、CUDA_R_16F、ldc、CUDA_ )'
というエラーが出て学習が回らないという報告がありました。
調べたところ、修正されていない問題のようです。→https://github.com/pytorch/pytorch/issues/56747
CUDA10.2で動作したという報告がありましたので、お手数ですが上記の環境(グラボがGTX1080Ti)の方は適宜バージョンの変更をお願いいたします。


これでESPNetの環境構築は終了です。お疲れさまでした。

次回記事で学習を回すまでを解説します。

次回記事はこちら:https://qiita.com/seichi25/items/bde466744f9b3190b0d3

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12