Kaldi:qsub的输出为:qsub:尝试运行Common Voice配方时的非法-c值“”

时间:2018-07-01 20:34:38

标签: speech-recognition qsub kaldi

我正在尝试在计算机上(即不在群集上)运行Kaldi的通用语音配方(kaldi/egs/commonvoice/s5/run.sh)。它崩溃并显示错误消息Output of qsub was: qsub: illegal -c value ""。可能是什么问题?


具体地说,这是整个错误堆栈:

[...]
Succeeded in formatting LM: 'data/local/lm.gz'
steps/make_mfcc.sh --cmd queue.pl --mem 2G --nj 20 data/valid_train exp/make_mfcc/valid_train mfcc
utils/validate_data_dir.sh: Successfully validated data-directory data/valid_train
steps/make_mfcc.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.
queue.pl: Error submitting jobs to queue (return status was 512)
queue log file is exp/make_mfcc/valid_train/q/make_mfcc_valid_train.log, command was qsub -v PATH -cwd -S /bin/bash -j y -l arch=*64* -o exp/make_mfcc/valid_train/q/make_mfcc_valid_train.log  -l mem_free=2G,ram_free=2G  -t 1:20 /home/ubuntu/kaldi/egs/commonvoice/s5/exp/make_mfcc/valid_train/q/make_mfcc_valid_train.sh >>exp/make_mfcc/valid_train/q/make_mfcc_valid_train.log 2>&1
Output of qsub was: qsub: illegal -c value ""
usage: qsub [-a date_time] [-A account_string] [-b secs]
      [-c [ none | { enabled | periodic | shutdown |
      depth=<int> | dir=<path> | interval=<minutes>}... ]
      [-C directive_prefix] [-d path] [-D path]
      [-e path] [-h] [-I] [-j oe] [-k {oe}] [-l resource_list] [-m n|{abe}]
      [-M user_list] [-N jobname] [-o path] [-p priority] [-P proxy_user] [-q queue]
      [-r y|n] [-S path] [-t number_to_submit] [-T type]  [-u user_list] [-w] path
      [-W otherattributes=value...] [-v variable_list] [-V ] [-x] [-X] [-z] [script]

我运行了通用语音食谱,如下所示:

## Retrieving Kaldi source code 
git clone https://github.com/kaldi-asr/kaldi.git
cd kaldi
export KALDI_GIT_ROOT=`pwd`
echo $KALDI_GIT_ROOT

## Compile Kaldi tools
cd $KALDI_GIT_ROOT/tools
sudo apt-get install -y  zlib1g-dev automake autoconf libtool libatlas3-base subversion 
make -j 24

## Compile Kaldi
cd $KALDI_GIT_ROOT/src
./configure
make -j 24

## Common Voice
cd $KALDI_GIT_ROOT/tools
sudo ./install_srilm.sh
# required by install_sequitur.sh
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py
sudo apt-get install -y swig python-setuptools python-dev
sudo pip install numpy
sudo ./extras/install_sequitur.sh
# For qsub
sudo apt-get install -y torque-server torque-client torque-mom torque-pam
# Start Kaldi training on Common Voice
sudo apt install sox libsox-fmt-mp3 # run.sh will convert Common Voice MP3s to WAV using sox
cd $KALDI_GIT_ROOT/egs/commonvoice/s5
source $KALDI_GIT_ROOT/tools/env.sh
./run.sh

我使用Ubuntu 16.04.4 LTS。

1 个答案:

答案 0 :(得分:3)

问题在于qsub是错误的:应该使用Sun Grid Engine中包含的内容,而不是Torque program中使用的内容。

sudo apt-get remove torque-server torque-client torque-mom torque-pam
sudo apt-get install gridengine-master gridengine-client gridengine-exec

请注意,如果使用Sun Grid Engine can be tricky to configure,并且如果使用一台计算机,则无济于事。

要在不使用Sun Grid Engine的通用语音上训练Kaldi,可以在/kaldi/egs/commonvoice/s5/cmd.sh中将queue.pl替换为run.pl

export train_cmd="run.pl --mem 2G"
export decode_cmd="run.pl --mem 4G"
export mkgraph_cmd="run.pl --mem 8G"