首页 > 代码库 > qwakeup_train运行遇到的问题记录

qwakeup_train运行遇到的问题记录

  运行前需要更改的地方:
 
1matlab安装的路径以及matlablicense文件
 
 
2、噪声的路径;background.scp,以及噪声文件
 
 
3run.sh文件中一处find $dir 改为 find $task,同样在utils/mixwithnoise.sh也存在这样的问题
 
 

数据准备部分:

1、运行时,在utils/mixNoiseWith.sh步出错,查看一下background.scp文件对应的噪声文件是否存在,或者修改噪声文件地址

                           

2、 运行时出错,数据aligns出错,检查*.scp文件为空;

 更改产生*.scp文件的utils/mixSpeechWithNoise.sh的查找目录,即可得到*.scp;

 

3、这样仍存在一个问题是:$dir/../${task}_fbank_*/*.feat> $dir/../${task}_fbank.feat   文件为空;

 可能是读取的htkfeau文件为空或者在转化为kaldi格式的特征时,工具有问题,另外一种可能是在写入到*_fbank.feat文件时出错,尚未验证

 

4、当进行AEC或者NS处理时,htkfeat2kaldifeat一步会出现 double free or corruption的错误

  解决办法:                    

    

5、在运行时出现这样的情况:主要是在utils/mixSpeechWithNoise.sh这一步时,出现无穷尽的processed ??? utts ,还有在utils/ace.sh步也会出现这样的情况,如下图

 技术分享

是在语料文件夹中生成很多其他文件,之后也会执行。导致一直在执行。

 解决方法 :在每次执行前,删除生成的中间文件。

6

 技术分享

 技术分享

 技术分享

原因:

1)出现至少两个文件名相同

2)在utils/align.sh一步中,用到的可执行文件缺少相应的库文件

解决方法:

1)重命名

2)缺少共享文件libfst.so.1文件,指定对应的动态链接库地址,若对应链接库不存在,需要重新编译,当然·这是在有源码的情况下可以做的。好在本程序包用到的可执行文件(/bin/lib)大部分是可以在kaldi上找到的,只要将kaidlGPU平台上编译就好了。【详解见文末】

 

7现在遇到的问题是在第一次执行脚本时,在第六步align.sh,会出现问题,

 技术分享

 尝试了一下,在不删除生成的中间文件时,

 技术分享

 再次执行脚本,align.sh可以通过,但在模型训练部分出现问题,退出,在log日志文件里提示:

 技术分享

 解决办法:检查了生成的pcm文件,其中在utils/aec.sh之后,生成的pcm有问题,注释掉utils/aec.sh即可。

 

8 .  ./wav2feat: error while loading shared libraries: libfst.so.0: cannot open shared object file: No such file or directory

   把需要的库文件写入/.bashrc文件或者在path.sh文件里添加所需库的路径。

9

技术分享

GPU上跑,会出现 

技术分享

 

估计是可执行的二进制文件在CPU上编译的,在GPU上执行通过不了,

 解决办法:

data/kws*all_20161227拷贝到在CPU上,再执行r1.sh文件,进行模型训练,通过,得到mars.q文件

 
 10kaldiGPU上安装

Centos6.8 卡GFORCE TITAN X 驱动:DriverVersion:375.26 CUDA8.0

 
I 安装前准备
安装前你需要对你的centos进行配置,步骤如下:
# yum check-update; 检查更新
# yum install -y; 安装找到的更新,确保已安装的软件是最新版的
依赖软件的安装(如果已经安装可以跳过)。
1 sudo yum install libtool
2 sudoyum install autoconf
3 sudo yum install wget
4 sudo yum install perl
5 sudo yum install subversion

6 sudo yum install zlib

 II 安装

1)静态库安装方法(默认):
# cd tools; make
# ./install_atlas.sh
# cd ../src; ./configure; %此步骤中只能用configure, 加入--shared会报错:
# make depend; make
2) 动态库安装方法:
# cd tools; make
install_atlas.sh 中的 ../configure $opt --prefix=`pwd`/install || exit 1;
改为:
../configure $opt --prefix=`pwd`/install --shared|| exit 1;
# ./install_atlas.sh
# cd ../src; ./configure --shared 这里如果报错, 请将--shared去掉

 
# make depend; make
 

如果不报错,kaldi大致就装好了

其中要注意

1、新版的kaldi中的irsltlm是没有编译的,需要手动编译一下

2kaldi目录下,src/cudamatrix中没有编译出可执行文件,所以make testfailture

 
下面转到CUDA安装
下载完cuda8.0后,执行如下语句,运行runfile文件:
sudo sh cuda_8.0.27_linux.run

执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia361驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia367,所以这里不要选择安装。其余的都直接默认或者选择是即可。 
安装成功后会出现如下界面:

===========

= Summary =

===========

Driver: Not Selected

Toolkit: Installed in /usr/local/cuda-8.0

Samples: Installed in /home/textminer

Please make sure that

– PATH includes /usr/local/cuda-8.0/bin

– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as rootTo uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.To install the driver using this installer, run the following command, replacing with the name of this run file:

sudo .run -silent -driver

安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后设置环境变量和动态链接库,在命令行输入:

$ sudo gedit /etc/profile

在打开的文件末尾加入:

export PATH = /usr/local/cuda/bin:$PATH

保存之后,创建链接文件:

sudo gedit /etc/ld.so.conf.d/cuda.conf

在打开的文件中添加如下语句:

/usr/local/cuda/lib64

然后执行

sudo ldconfig

使链接立即生效。

3、测试cudaSamples

cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery

makesudo ./deviceQuery

如果显示的是一些关于GPU的信息,则说明安装成功了。

查看GPU信息,其中注意

 技术分享

 下面转到src/cudamatrix,编译MakefieCUDA_ARCH=-gencode arch=compute_61,code=sm_61,数字改为上面的计算能力

make test,你会发现

 技术分享

 这样就能顺利训练DNN

 

总结:此唤醒程序包运行需注意的几点如下:

1、产生的中间文件需删除,包括

技术分享

 

还要删除的是语料文件夹中产生的新文件。一定要删除干净!

2、可执行文件的对应链接库存在且指向正确,并且是在该平台上编译通过的。所以的可执行文件都需正确。注意nnet-train-frmshuff需要在GPU上编译通过,这个就涉及到kaldicudamatrix的编译,详情见上。

 

qwakeup_train运行遇到的问题记录