/
HOWTO-dnn.txt
142 lines (104 loc) · 5.38 KB
/
HOWTO-dnn.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
======================================================================
DNNによる音声認識の実行
v.4.3.1(OS統合版) 2015/10/03
======================================================================
□ はじめに //////////////////////////////////////////////////////////
DNN (Deep Neural Network)版のシステムでは高精度な音響モデルを
使用します.このため処理が重くなり,また手順も複雑になりますが,
GMM版よりも認識精度が向上します.
DNNの計算はCPUのみ,またはCPU+GPUにより行います.いずれの場合も
DNN版は当キットだけでは実行できません.あらかじめ下記の要領で
必要なソフトウェアをシステムにセットアップしてください.
セットアップにはシステムに関する知識や管理者の権限が必要です.
なお,GPUについてはWindowsおよびLinuxを対象としています.
□ 構成とセットアップ ////////////////////////////////////////////////
GMM版ではJuliusに対して音声を直接入力して認識を行いますが,
DNN版では (1)音声の入力,(2)特徴量への変換,(3)音声認識を
それぞれ別のプログラムで実行します(これらはTCP/IP経由で接続
されます).このうち(2)について,PythonとそのライブラリNumpyを
用いて実行するため,これらのセットアップが必要です.
Pythonはバージョン2系列を推奨します(バージョン3系列での検証は
行っていません).LinuxやMacOSXの場合は既にインストールされて
いることもありますが,そうでない場合はパッケージマネージャを
用いて,あるいはソースコードをダウンロード・コンパイルして
インストールしてください.Windowsの場合はシステムに含まれて
いませんので,ダウンロードの上インストールしてください.
なお,公式のNumpyライブラリでは,Windowsで処理が非常に遅くなる
現象を確認しています.非公式のライブラリでは回避できます.
[参考URL]
Python:
http://www.python.org/
Python非公式ライブラリ:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
□ 起動 //////////////////////////////////////////////////////////////
DNN版は run-win-dnn.bat (Windows), run-(linux|osx)-dnn.sh (Linux/
MacOSX)を実行することで起動します.Linux・MacOSXではGUI環境で起動
して下さい.
これらの中では,3つのプログラムが順に起動するようになっています.
まずJuliusが起動して,しばらくするとPythonおよびadintoolが別の
ウィンドウで起動します.音声入力についてはadintoolのウィンドウに,
音声認識結果はJuliusのウィンドウに表示されます.
Linux版ではJuliusがバックグラウンドプロセスとして動作しています.
まれに終了せずに残ってしまうことがありますので,この場合は手動で
終了させて下さい.
□ GPUの使用 /////////////////////////////////////////////////////////
Pythonによる特徴量の計算は,初期設定ではCPUのみで行いますが,
GPUを用いて高速化することができます.
この場合は,NVIDIA CUDAに対応したグラフィックカードやGPGPU
カードが必要です.また,CUDA環境に加えてcudamatライブラリを
セットアップします(これには開発環境が必要です).
以下にセットアップ手順の概略を示します.作業に当たっては,
ソフトウェアの説明,特にcudamatの説明をよく読んでください.
なお,GPUの使用についてはWindowsおよびLinuxが対象です.
(i) CUDA・cudamatのインストール
Windowsの場合は,cudamatをビルドするために,Microsoft Visual
Studio 2008が必要です.あらかじめセットアップしてください.
OSやプラットフォームに対応するCUDAパッケージをNVIDIAのWebサイト
からダウンロードしてインストールしてください.この際,Windows
ではVisual Studio環境内にCUDAモジュールがセットアップされます.
cudamatのパッケージをダウンロードして,パッケージ内の説明に
従ってライブラリをビルドしてください.生成されたライブラリの
ファイル(Windowsなら libcudamat.dll,Linuxでは libcudamat.so)を
cudamat.py および rnd_multipliers_32bit.txt ファイルとともに
ディクテーションキットの bin ディレクトリにコピーします.
[参考URL]
NVIDIA CUDA ZONE:
https://developer.nvidia.com/category/zone/cuda-zone
cudamat:
https://code.google.com/p/cudamat/
cudamat with Windows support:
https://github.com/surban/cudamat
(ii) GPUの利用設定
Linuxでは,CUDAライブラリ(CUDAのインストール先にあるlibやlib64)
および libcudamat.so を実行時に参照できるよう,これらのパスを
環境変数 LD_LIBRARY_PATH に設定してください.
例えば,/var/tmp/dictation-kit-linux にこのキットがあり,CUDAが
/usr/local/cuda にあるとすると,,次のパスを LD_LIBRARY_PATH に
加えます.
/usr/local/cuda/lib (32-bitの場合)
/usr/local/cuda/lib64 (64-bitの場合)
/var/tmp/dictation-kit-linux/bin
run-win-dnn.bat や run-(linux|osx)-dnn.sh は,CPUのみで計算する
dnnclient.py を使うようになっています.GPUを使用する場合は,
これを dnnclient-gpu.py に差し替えて( run-win-dnn.bat や
run-(linux|osx)-dnn.sh の内容を書き換えて)ください.
□ 注意事項 //////////////////////////////////////////////////////////
このファイルに記載された内容は動作検証時の環境に基づいたものです.
利用環境によっては手順や設定が異なる,あるいは動作しない可能性が
あります.GPU利用時の動作検証に利用した環境は次の通りです.
[Windows]
Core i7 (2.8GHz) + 8GB memory + NVIDIA Quadro FX 580
Windows7 Ultimate SP1 (64-bit)
Microsoft Visual Studio 2008 Professional Edition
NVIDIA CUDA 5.5.20 (Desktop 64-bit)
Python 2.7.6 + Numpy 1.8.0 非公式版 (64-bit) + cudamat 0.3
[Linux]
Xeon (3.5GHz) + 32GB memory + NVIDIA Quadro K4000
CentOS 6.4 (64-bit)
NVIDIA CUDA 5.5 (64-bit)
Python 2.6.6 + Numpy 1.4.1 (64-bit) + cudamat 0.3
このファイルに挙げたURL(Webサイト)は,利用者の便宜のために記載
したもので,Juliusおよびディクテーションキットとは関係ありません.
これらのWebサイトや,そこからダウンロードしたソフトウェア等の
動作や安全性について何らの保証をするものでもありません.
自己責任でご利用下さい.