{"id":1024,"date":"2024-06-05T10:00:00","date_gmt":"2024-06-05T01:00:00","guid":{"rendered":"https:\/\/www.feg.co.jp\/?post_type=column&p=1024"},"modified":"2024-08-14T15:39:28","modified_gmt":"2024-08-14T06:39:28","slug":"tacotron2waveglow-%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99%ef%bc%88%e9%9f%b3%e5%a3%b0%e5%90%88%e6%88%90%ef%bc%89%e3%80%90%e5%be%8c%e7%b7%a8%e3%80%91","status":"publish","type":"column","link":"https:\/\/www.feg.co.jp\/column\/tacotron2waveglow-%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99%ef%bc%88%e9%9f%b3%e5%a3%b0%e5%90%88%e6%88%90%ef%bc%89%e3%80%90%e5%be%8c%e7%b7%a8%e3%80%91\/","title":{"rendered":"Tacotron2+WaveGlow \u3092\u52d5\u304b\u3059\uff08\u97f3\u58f0\u5408\u6210\uff09\u3010\u5f8c\u7de8\u3011"},"content":{"rendered":"\n

\u524d\u7de8<\/a>\u3067\u306f\u3001Tacotron2\u306e\u6982\u8981\u306b\u3064\u3044\u3066\u304a\u4f1d\u3048\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u5b9f\u969b\u306bTacotron2\u3092\u52d5\u304b\u3059\u969b\u306e\u5b9f\u88c5\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002\uff08\u53c2\u7167\u8ad6\u6587\uff1ahttps:\/\/arxiv.org\/abs\/1712.05884<\/a>\uff09<\/p>\n\n\n\n

Tacotron2\u306e\u5c0e\u5165\u306b\u3064\u3044\u3066<\/h2>\n\n\n\n

\u307e\u305a\u306f\u3001\u79c1\u306e\u4f7f\u3063\u305f\u4f5c\u696d\u74b0\u5883\u3092\u5148\u306b\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n

CPU:<\/td>Ryzen 7\u30003700K<\/td><\/tr>
Mother Board:<\/td>ASRock B450\/Pro4<\/td><\/tr>
Memory:<\/td>128 GBytes<\/td><\/tr>
GPU:<\/td>NVIDIA RTX3090(VRM:24GByte)<\/td><\/tr>
OS: <\/td>Ubuntu 22.04(Ubuntu-ja-22.04-desktop-amd64.iso)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

\u3000\u3000<\/p>\n\n\n\n

\u3055\u3066\u3001\u73fe\u5728\u3067\u306fTacotron2+Waveglow\u306e\u30aa\u30ea\u30b8\u30ca\u30eb\u30b3\u30fc\u30c9\u3092\u8a66\u305d\u3046\u3068\u3057\u3066\u3082\uff08Colab\u3067\u306e\u5b9f\u884c\u3082\u542b\u3081\uff09\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5408\u308f\u306a\u3044\u305f\u3081\u52d5\u304b\u306a\u3044\u3088\u3046\u3067\u3059\u3002
\u4e00\u3064\u306b\u3001Tacotron2+Waveglow\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u306fTensorflow1.X\u304c\u5fc5\u8981\u306a\u4e8b\u3002\u3055\u3089\u306b\u3001NVIDIA RTX\u30003000\u756a\u53f0\u4ee5\u964d\u306eGPU\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u5bfe\u5fdc\u3059\u308bCUDA11\u4ee5\u964d\u304c\u5fc5\u8981\u306a\u305f\u3081\u3001\u53e4\u3044\u74b0\u5883\u3092\u63c3\u3048\u3088\u3046\u306b\u3082\u901a\u5e38\u306e\u65b9\u6cd5\u3067\u306f\u9650\u754c\u304c\u3042\u308a\u307e\u3059\u3002
\u6b8b\u5ff5\u306a\u304c\u3089\u3001CUDA11\u3068\u30ea\u30f3\u30af\u3057\u305fTensorflow1.X\u306f\u3001conda-forge,PyPI \u5171\u306b\u3042\u308a\u307e\u305b\u3093\u306e\u3067\u3001\u81ea\u8eab\u3067\u30d3\u30eb\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n


\u305d\u3053\u3067\u3001\u4eca\u56de\u306fNVIDIA\u304c\u7528\u610f\u3057\u3066\u3044\u308b\u3001Docker \u30a4\u30e1\u30fc\u30b8\uff08\u30b3\u30f3\u30c6\u30ca\uff09\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002
\u3061\u3087\u3046\u3069\u3001“nvcr.io\/nvidia\/tensowflow\/22.05-tf1-py3” <\/strong>\u3068\u3044\u3046\u306e\u304c\u3001\u52d5\u4f5c\u6761\u4ef6\uff08Tensorflow\uff0bCUDA1.7\uff09\u3092\u6e80\u305f\u3059\u30a4\u30e1\u30fc\u30b8\u30b3\u30f3\u30c6\u30ca\u306a\u306e\u3067\u3001\u3053\u308c\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002
Docker\u30a4\u30e1\u30fc\u30b8\u30ab\u30bf\u30ed\u30b0<\/a>\u306e\u4e2d\u304b\u3089\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002 <\/p>\n\n\n\n

\u624b\u9806 <\/h2>\n\n\n\n

\u2460\u5fc5\u8981\u306a\u30a4\u30e1\u30fc\u30b8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

> docker pull nvcr.io\/nvidia\/tensowflow\/22.05-tf1-py3<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

\u2461\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u306eimage id \u3092\u8abf\u3079\u3066\u304a\u304d\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

> docker images<\/p>\n\n\n\n

\u3000\u3000<\/p>\n\n\n\n

\u2462\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

> docker -it -gpus all \/–mount type=bind,src=\/home\/d_drive,dst=\/home\/work -p=8888:8888
–device \/dev\/snd –group-add audio
–ipc=host –ulimit memlock=1 –ulimit stacks=6710884 \uff1cimage id><\/p>\n\n\n\n

\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u591a\u3044\u306e\u3067\u3001\u5b9f\u969b\u306f\u3001compose.yml\u3067\u6307\u5b9a\u3059\u308b\u65b9\u304c\u3088\u3044\u3067\u3059\u304c\u3001\u3053\u3053\u3067\u306f\u5272\u611b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n

\u3000\u3000<\/p>\n\n\n\n

\u2463Docker\u306b\u5165\u3063\u305f\u3089\u3001PyTorch\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

# pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1
–extra-index-url https:\/\/download.pytorch.org\/whl\/cu117<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

\u2464tacotron2\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u884c\u3044\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

# cd \/home\/work
# git clone https:\/\/github.com\/NVIDIA\/tacotron2.git
# cd tacotron2
# git submodule init
# git submodule update<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

\u2465Apex\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

# git clone https:\/\/github.com\/NVIDIA\/apex
# cd apex
# pip install -v –disable-pip-version-check –no-cache-dir –global-option=”–cpp-ext”
–global-option=”–cuda-ext”
# cd ..<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

\u2466\u305d\u306e\u4ed6\u306e\u5fc5\u8981\u306a\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u5b9f\u65bd\u3057\u307e\u3059\u3002<\/strong>
\u3000nano\u306a\u3069\u306e\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf\u3092\u4f7f\u3063\u3066requirements.txt\u3092\u66f8\u304d\u304b\u3048\u307e\u3059\u3002<\/p>\n\n\n\n

matplotlib==3.5.0
tensorflow==1.15.5
numpy==1.13.3
inflect==7.0.0
ibrosa==0.8.0
scipy==1.4.1
Unidecode==1.0.22
pillow
pysoundfile==0.9.0.post1<\/p>\n\n\n\n

\u3000\u30fb\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u5b9f\u65bd<\/p>\n\n\n\n

# pip install -r requirements.txt<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

<\/p>\n\n\n\n

\u2467jupyter lab \u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n

# jupyter lab –no-browser –ip=0.0.0.0 –p=8888 –allow-root –NotebookApp.token=”<\/p>\n\n\n\n

\u30ed\u30fc\u30ab\u30eb\u306e\u30d7\u30e9\u30a6\u30b6\u3067 http:localhost:8888 \u3092\u6307\u5b9a\u3057\u3001\u30ce\u30fc\u30c8\u30d6\u30c3\u30af\u3092\u958b\u304d\u307e\u3059\u3002<\/p>\n\n\n\n

\u30d7\u30ec\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u6e08\u307f\u30e2\u30c7\u30eb\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306f\u3001\u30d6\u30e9\u30a6\u30b6\u30fc\u3067\u3001https:\/\/github.com\/NVIDIA\/tacotron2<\/a> \u3092\u958b\u3044\u3066\u3001Inference demo\u306b\u3042\u308b\u3001Tacotron2 model\u3000\u3068\u3000Waveflow\u3000model\u3078\u306e\u30ea\u30f3\u30af\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305ftacotron2_statedict.pt\u3068waveglow_256channels_univesal_v5.pt\u306f\u3001\u3000\/home\/d_drive\/tacotron2 \uff08docker\u4e0a\u3067\u306f\u3000\/home\/work\/tacotron2\uff09\u306b\u79fb\u52d5\u3055\u305b\u307e\u3059\u3002<\/p>\n\n\n\n

\u52d5\u4f5c\u78ba\u8a8d\u306f\u3001inference.ipynb \u304c\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u4e0a\u306b\u3042\u308b\u30e2\u30c7\u30eb\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u3082\u306e\u3068\u4e00\u81f4\u3055\u305b\u52d5\u3051\u3070OK\u306e\u306f\u305a\u3067\u3059\u3002
\u203b\u30b0\u30e9\u30d5\u306e\u3068\u3053\u308d\u3067bottom \u304c\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u304b\u3067\u30a8\u30e9\u30fc\u306b\u306a\u308b\u5834\u5408\u306f\u3001plot_data\u95a2\u6570\u5b9a\u7fa9\u306e\u7b87\u6240\u306eBottom->lower \u306b\u66f8\u304d\u63db\u3048\u308c\u3070\u3001OK\u3067\u3059\u3002
\u30d7\u30ed\u30b0\u30e9\u30e0\u4e0a\u306e\u30c6\u30ad\u30b9\u30c8\u901a\u308a\u306b\u82f1\u8a9e\u306e\u30b9\u30d4\u30fc\u30c1\u304c\u805e\u3053\u3048\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n

docker image\u306f\u7d42\u4e86\u3059\u308b\u3068\u3001\u5143\u306b\u623b\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u3053\u3053\u307e\u3067\u306e\u72b6\u614b\u3067\u3001\u4e00\u65e6 \u30b3\u30df\u30c3\u30c8\u3092\u304b\u3051\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

\u30fbDOCKER ID\u3092\u78ba\u8a8d<\/p>\n\n\n\n

> docker ps<\/p>\n\n\n\n

\u30fb\u30b3\u30df\u30c3\u30c8\u3059\u308b<\/p>\n\n\n\n

> docker <docker id> commit<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

\u65e5\u672c\u8a9e\u3092\u767a\u8a71\u3055\u305b\u308b\u5834\u5408\u306b\u306f\u3001JSUT\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8<\/strong>\u306a\u3069\u3092\u4f7f\u3063\u3066Tacotron2\u30e2\u30c7\u30eb\u90e8\u5206\u3060\u3051\u3092\u30d5\u30a1\u30a4\u30f3\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3057\u307e\u3059\u3002
Jsut\uff08Japanese speech of Saruwatari-lab, University of Tokyo\uff09<\/strong>\u306f\u300c\u53f0\u672c\u300d\u3068\u300c\u8aad\u307f\u4e0a\u3052\u97f3\u58f0\u300d\uff08\u5973\u6027\u3001\u540c\u4e00\u4eba\u7269\uff09\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u308b\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u3059\u3002
https:\/\/sites.google.com\/site\/shinnoketakamichi\/publication\/jsut<\/a><\/p>\n\n\n\n

\u5b9f\u969b\u306e\u30e2\u30c7\u30eb\u5b66\u7fd2\u65b9\u6cd5\u306f\u3001\u4ed6\u306e\u65b9\u304cWeb\u30da\u30fc\u30b8\u306b\u5177\u4f53\u7684\u306b\u8a73\u3057\u304f\u66f8\u3044\u3066\u304a\u3089\u308c\u307e\u3059\u306e\u3067\u3001\u3053\u3053\u3067\u306f\u5272\u611b\u3057\u307e\u3059\u3002
\u97f3\u58f0\u306f\u3001\u79c1\u898b\u3067\u3059\u304c\u3001\u3061\u3087\u3046\u3069NHK\u306e\u30cb\u30e5\u30fc\u30b9\u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u308bAI\u97f3\u58f0\u30ac\u30a4\u30c9\u306b\u305d\u3063\u304f\u308a\u306a\u3082\u306e\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n

<\/p>\n\n\n\n

\uff08\u53c2\u8003\u30da\u30fc\u30b8\uff09
\u3000
NVIDIA\/tacotron2 \u3067\u65e5\u672c\u8a9e\u306e\u97f3\u58f0\u5408\u6210\u3092\u8a66\u3059 (2) – JSUT\u3067\u5b66\u7fd2<\/a><\/p>\n\n\n\n

ESPNET2<\/h2>\n\n\n\n

\u3068\u3053\u308d\u3067\u3001\u5b9f\u306e\u3068\u3053\u308d\u73fe\u5728\u3067\u306f\u3001\u97f3\u58f0\u8a8d\u8b58\u30fb\u97f3\u58f0\u5408\u6210\u306e\u7d71\u5408\u958b\u767a\u74b0\u5883\uff08ESPNET2)\u304c\u3042\u308a\u307e\u3059\u3002
\u3053\u306e\u958b\u767a\u30ad\u30c3\u30c8\u306ftacotron2\u3092\u542b\u3093\u3067\u304a\u308a\u3001\u4eca\u56de\u306e\u3088\u3046\u306a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u82e6\u52b4\u3059\u308b\u3053\u3068\u306a\u304f\u52d5\u304b\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002
ESPNET2\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30e2\u30c7\u30eb\u306b\u306f\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n

\u3000<\/p>\n\n\n\n

ESPNET2\u304c\u6271\u3048\u308b\u30e2\u30c7\u30eb<\/strong><\/p>\n\n\n\n