DtYXs's picture
Duplicate from OFA-Sys/OFA-vqa
7e4b981
raw
history blame
1.48 kB
#!/bin/bash
set -eu
w2v_dir= # contains features `{train,valid}.{npy,lengths}`, real transcripts `{train,valid}.${label}`, and dict `dict.${label}.txt`
lab_dir= # contains pseudo labels `{train,valid}.txt`
out_dir= # output root
arpa_lm= # phone LM
arpa_lm_bin= # (binary) phone LM for KenLM, used in unsupervised selection
label=phnc
train_name="train"
valid_name="valid"
data_dir=${out_dir}/data
mkdir -p ${out_dir}/exp
local/prepare_lang.sh $w2v_dir/dict.${label}.txt $data_dir
local/prepare_lm.sh $arpa_lm $data_dir
for x in $train_name $valid_name; do
x_gt=${x}_gt
# prepare pseudo data
python local/prepare_data_from_w2v.py $w2v_dir $data_dir $x
steps/compute_cmvn_stats.sh $data_dir/$x $out_dir/exp/make_feat/$x $out_dir/feats/$x
python local/copy_aligned_text.py < $lab_dir/$x.txt > $data_dir/$x/text
# prepare ground truth data
mkdir $data_dir/$x_gt
cp $data_dir/$x/{feats.scp,cmvn.scp,utt2spk,spk2utt} $data_dir/$x_gt/
python local/copy_aligned_text.py < $w2v_dir/$x.$label > $data_dir/$x_gt/text
done
local/train_subset_lgbeam.sh \
--out_root ${out_dir} --out_name exp --train $train_name --valid $valid_name \
--mono_size 2000 --tri1_size 5000 --tri2b_size -1 --tri3b_size -1 \
--stage 1 --max_stage 3 $data_dir $data_dir/lang $data_dir/lang_test
local/unsup_select_decode.sh \
--split $valid_name --kenlm_path $arpa_lm_bin \
--ref_txt $data_dir/${valid_name}_gt/text \
--psd_txt $data_dir/${valid_name}/text \
$out_dir/exp