#####注:Ubuntu19.04サポート切れのため"『Yukarinライブラリ』ためのLinux環境構築(RTX対応)【Ubuntu 19.04】" を Ubuntu 18.04 LTS 環境用にリライトしました。*
Ubuntu 20 LTS へのインストールをする場合は、コマンドを変更・手順変更が必要です。
Windows の WSLのUbuntuでは動きません!!
1. 概要
Ubuntu 18.04 LTS にて、「ディープラーニングの力で結月ゆかりの声になってみた」のコードを実行するための環境構築の方法を紹介します。
RTX2000シリーズGPU対応のため、CUDA 10.1 をインストールします
GPUがない or Linux PCがない 人向け
Google Colaboratory でも学習できました!
GPUがなくても、Google Colaboratory で結月ゆかりの声になりたい
「ディープラーニングの力で結月ゆかりの声になってみた」について
ヒホ氏が作成した、音質変換ソフトです。
過去バージョンのインストール方法記事
・ Ubuntu v18.10 : @sakamotothogo 様
「ディープラーニングの力で結月ゆかりの声になる」環境構築【Ubuntu Server v18.10】
・Ubuntu v17.10 : @atticatticattic
「ディープラーニングの力で結月ゆかりの声になる」ためのLinux環境構築【Ubuntu 17.10】
インストール後の使い方
インストール後の音声変換のやり方は下記を参照願います。
「ディープラーニングの力で結月ゆかりの声になる」ための基礎知識とコマンド操作
参考記事
・Ubuntu 18.04へのCUDAインストール方法
・「ディープラーニングの力で結月ゆかりの声になる」環境構築【Ubuntu Server v18.10】
本記事を参考に環境構築していただいた記事
初めての「誰でも好きなキャラの声になれる」ディープラーニング声質変換環境構築【Ubuntu 18.04LTS】
環境構築で躓きやすかったところや、自分の記事では補足しきれなかった内容などを書いていただいております!
補足 : ストレージサイズ
本気でやりこむと、かなり容量を食うので、1TBほどあった方が安心です。
2. 基本環境ソフト・環境設定
2.1 基礎ソフト
ssh、エディタ、ビルド環境をまとめてインストール
sudo apt install openssh-server emacs vim build-essential git
音声処理系
sudo apt install ffmpeg sox
2.2 設定
timezone を変更
ローカライズされていない Ubuntu Server の場合、時刻が UTC(協定世界時間)になっているので日本時間に変更。
sudo timedatectl set-timezone Asia/Tokyo
**IP 固定設定(SSHなどでIP固定したい場合参考にしてください)**
自分の設定(設定例)
注: 空白部分にはインデント(タブ)は使わずに全てスペースで埋めてください。
- 固定IP : 192.168.0.202
- ローカルネットワーク : 192.168.0.0/24 ("/24" : ネットマスク 255.255.255.0)
- ゲートウェイ(ルータ) : 192.168.0.1
- DNS サーバ : 8.8.8.8
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
enp10s0:
dhcp4: false
addresses:
- 192.168.0.202/24
gateway4: 192.168.0.1
nameservers:
addresses:
- 8.8.8.8
version: 2
2.3 python(pyenv)の インストール
Python はバージョン管理ソフトのpyenv
を使用してインストールしました。
become-yukarin リポジトリでの実行には python 3.6.3
が推奨されていますが、ubuntu で apt-get install python
を実行すると python 2.X
系がインストールされてしまうので、pyenv
を使います。
pyenv をインストール
インストールコマンド
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
ryenvの環境設定
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
source ~/.bashrc
確認
which コマンドで pyenv のパスが/home/[user_name]/.pyenv/bin/pyenv
になっていることを確認してください。
ユーザ名 : attic の場合
which pyenv
> /home/attic/.pyenv/bin/pyenv
pyenv を使って python をビルド
Python ビルド用ソフト一式をインストール
sudo apt install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
ビルド & 使用する Pythonバージョンを指定
become-yukarin 推奨バージョンである version 3.6.3 をインストールします。
pyenv install 3.6.3
pyenv global 3.6.3
下記のように確認できれば成功です。
python --version
> Python 3.6.3
3 ディープラーニング実行環境の設定
3.1 CUDA Toolkit 10.1 のインストール
インストール用の作業ディレクトリを作り、移動します。
mkdir nvida_driver
cd nvida_driver
インストールファイルのURL取得 & ダウンロード
Nvidia の CUDA Toolkit 10.1 のページからインストールコマンドを確認して、記載してあるインストールコマンド実行します。
Linux -> x86_64 -> Ubuntu -> version 18.10 -> installer Type -> dev(network) を選択するとコマンドを確認できます
補足
URLは記事作成時点でのものです。変更されている可能性があるので、念のため上記手順でURLを取得してください。
インストールコマンド
ウェブサイトに表示されているインストールコマンドを実行。
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1810/x86_64/cuda-repo-ubuntu1810_10.1.168-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1810_10.1.168-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1810/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
sudo reboot
最後に、インストールしたドライバーを反映するためにリブートします。
その後、~/.bashrc の末尾に下記設定を書き加えます。
echo 'export PATH="/usr/local/cuda/bin:$PATH"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc
nvida-smiで動作確認
CUDA Version は 11.1 となっていますが、問題ないそうです。
attic@deeplearning:~$ nvidia-smi
Sun Nov 22 15:40:39 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce GTX 1070 Off | 00000000:01:00.0 Off | N/A |
| 0% 46C P0 33W / 200W | 0MiB / 8116MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
3.2 cuDNN 7.6.X のインストール
CUDA 10.1 に対して、 cuDNN 7.6.X をインストールします。
become-yukarin リポジトリの推奨バージョンがわかりませんが、cuDNN 7.6.5 で動作確認できています。
インストール用の .deb ファイルは下記のURLから、ファイル名から該当するファイルを見つけます。
命名規則は [cuDNN Ver]+[cuda version]
のようです。
https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64
ファイルURLを調べたら、wget
を使ってダウンロードして
このURLも必ず確認してください
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list
sudo apt update
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
sudo apt install ./libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo apt install ./libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
4 become-yukarin 設定
pipfreeze のファイルから、使用するライブラリ一式をインストールします。
最新のライブラリを使用するとAPIがなくなったりしているので、動作確認できているライブラリを使用するためです。
git hub にアップした pipfreeze をダウンロードして pip install を実行。
numba, cython の2つは先にインストールしないとエラーが出るので、先に実行する。
wget https://raw.githubusercontent.com/YoshikazuOota/yukarinlib_pipfreez/main/ubuntu18.pip.freeze
pip install --upgrade pip
pip install numba==0.44.0
pip install cython==0.29.21
pip install -r ubuntu18.pip.freeze
pythonを対話モードで実行して下記のコマンドを実行してください。
python
だけを実行すると対話モードになりますので、下記をコピペしてください。
下記コマンド & 実行結果が表示されれば、大抵OKです。
import chainer
import cupy as cp
a = cp.array([1,2,3])
b = cp.array([2,3,5])
a + b
> array([3, 5, 8])
quit()
**旧記事のライブラリインストール手順**
cd become-yukarin
pip install --upgrade pip
pip install -r requirements.txt
pip uninstall cupy
pip install cupy-cuda101
pip install -r requiremets.txt
を実行すると cupy
がインストールされるが、CUDA 10.1をインストールしたの cupy-cuda101
に入れ替える。
補足: 一応、上記コマンドでインストールできるが、cupy
のインストールは時間がかかるので、requiremets.txt から削除しても良い。
4.2 requiremets.txt 以外のライブラリをインストール
pip install tqdm
補足: 最新リポジトリでは tqdm
は requiremets.txt に含まれました。
4.3 バージョン依存ライブラリの再インストール
pip install numpy==1.16.2
pip install chainerui==0.3
pip install tensorboard-chainer==0.4.0
補足: 最新リポジトリでは(chaineruiのバージョンによって動かない場合があるようなので、はやりバージョン指定をしておいてください)pip install chainerui==0.3
は必要なくなりました
4.3 cupy の動作確認
pythonを対話モードで実行して下記のコマンドを実行してください。
python
だけで Enter すると対話モードになりますので、下記をコピペしてください
import chainer
import cupy as cp
a = cp.array([1,2,3])
b = cp.array([2,3,5])
a + b
> array([3, 5, 8])
quit()
4.4 WORLD4py のインストール
2019/6/5 に 待望の pip 対応されました。下記コマンドでインストールできます。
pip install world4py
WORLD4py だけはpipからインストールできないのでソースからインストールする。
※下記コマンドでも、インストール可能です。
git clone https://github.com/yamachu/WORLD4py
cd WORLD4py
python setup.py install
4.5 ついでに、PYTHONPATH を設定
忘れやすいので、合わせてPYTHONPATH
を設定しましょう!
ディレクトリ移動した場合は~/.profile
を開いてパスを変更するのを忘れずに(私もよくここで引っかかります...)!
cd [become-yukarin のディレクトリ]
echo "export PYTHONPATH=\"`pwd`\"" >> ~/.bashrc
source ~/.profile
4.6 (参考)pythonで使用しているライブラリ一覧
もし、become-yukarin がうまく動かない場合は、ライブラリのバージョンを下記に合わせることで動くかもしれません。
$ pip list
Package Version
----------------- -------
alembic 1.0.10
APScheduler 3.6.0
audioread 2.1.8
chainer 6.0.0
chainerui 0.3.0
Click 7.0
cupy-cuda101 6.0.0
cycler 0.10.0
Cython 0.29.9
decorator 4.4.0
fastdtw 0.3.2
fastrlock 0.4
filelock 3.0.12
Flask 1.0.3
gevent 1.4.0
greenlet 0.4.15
itsdangerous 1.1.0
Jinja2 2.10.1
joblib 0.13.2
kiwisolver 1.1.0
librosa 0.6.3
llvmlite 0.29.0
Mako 1.0.10
MarkupSafe 1.1.1
matplotlib 3.1.0
msgpack 0.6.1
numba 0.44.0
numpy 1.16.2
pip 19.1.1
protobuf 3.7.1
pyparsing 2.4.0
pysptk 0.1.17
python-dateutil 2.8.0
python-editor 1.0.4
pytz 2019.1
pyworld 0.2.8
resampy 0.2.1
scikit-learn 0.21.2
scipy 1.3.0
setuptools 28.8.0
six 1.12.0
SQLAlchemy 1.3.4
structlog 19.1.0
tqdm 4.32.1
typing 3.6.6
typing-extensions 3.7.2
tzlocal 1.5.1
Werkzeug 0.15.4
world4py 0.1
最後に
早速、試したい方は下記のコマンド解説編を参考にしてください。
「ディープラーニングの力で結月ゆかりの声になる」ための基礎知識とコマンド操作
インストール時にトラブルがあった場合は、コメントいただければ、わかる範囲でお答えできます。
それでは、楽しい音声変換を!