subset_lat_dir.sh
#!/bin/bash
# Copyright 2018 Jarvan Wang
# Copyright 2017 Vimal Manohar
# Apache 2.0.
cmd=run.pl
nj=40
if [ -f ./path.sh ]; then . ./path.sh; fi
. ./utils/parse_options.sh
if [ $# -ne 3 ]; then
cat <<EOF
This script creates an lattice directory containing a subset of
utterances contained in <subset-data-dir> from the
original lattice directory containing lattices for utterances in
<full-data-dir>.
The number of split jobs in the output lattice directory is
equal to the number of jobs in the original lattice directory,
unless the subset data directory has too few speakers.
Usage: $0 [options] <subset-data-dir> <lat-dir> <subset-lat-dir>
e.g.: $0 data/train exp/tri3_lat_sp exp/tri3_lat
Options:
--cmd (utils/run.pl|utils/queue.pl <queue opts>) # how to run jobs.
EOF
exit 1
fi
subset_data=$1
lat_dir=$2
dir=$3
ori_nj=$(cat $lat_dir/num_jobs) || exit 1
mkdir -p $dir
cp $lat_dir/{final.mdl,*.mat,*_opts,tree} $dir/ || true
cp -r $lat_dir/phones $dir 2>/dev/null || true
$cmd JOB=1:$ori_nj $dir/log/copy_lattices.JOB.log \
lattice-copy "ark:gunzip -c $lat_dir/lat.JOB.gz |" \
ark,scp:$dir/lat_tmp.JOB.ark,$dir/lat_tmp.JOB.scp || exit 1
for n in `seq $ori_nj`; do
cat $dir/lat_tmp.$n.scp
done > $dir/lat_tmp.scp
#awk '{hash[$1]=$2}END{for(key in hash){printf("%s %s\n",key,hash[key])}}' < $dir/lat_tmp.scp > $dir/lat_tmp_sorted_uniq.scp
mv $dir/lat_tmp.scp $dir/lat_tmp.scp.bak
perl -e 'my %hash;while(<>){chomp;($key,$ark)=split;$hash{$key}=$ark};for $key (sort keys %hash){printf("%s %s\n",$key,$hash{$key})}' $dir/lat_tmp.scp.bak > $dir/lat_tmp.scp
utils/split_data.sh $subset_data $nj
$cmd JOB=1:$nj $dir/log/filter_lattices.JOB.log \
lattice-copy \
"scp:utils/filter_scp.pl $subset_data/split${nj}/JOB/utt2spk $dir/lat_tmp.scp |" \
"ark:| gzip -c > $dir/lat.JOB.gz" || exit 1
echo $nj > $dir/num_jobs
#rm $dir/lat_tmp.*.{ark,scp} $dir/lat_tmp.scp
exit 0
subset_lat_dir.sh的更多相关文章
- 数据库备份并分离日志表(按月)sh 脚本
#!/bin/sh year=`date +%Y` month=`date +%m` day=`date +%d` hour=`date +%H` dir="/data/dbbackup/f ...
- Linux下如何查找.sh后缀的文件
find / -name *.sh或locate *.shfind 与locate的区别:locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称
- sh 测试网段在线主机
yum install nmap nmap -sP 192.168.21.1/24 查看网段在线主机 grep -vwf file1 file2 文件内容比较 #!/bin/bash # day=` ...
- Maven打包生成可运行bat/sh脚本文件
利用Maven的appassembler-maven-plugin插件,就可以实现自动打包可运行的脚本,还可以跨平台. <plugin> <groupId>org ...
- 记一个简单的保护if 的sh脚本
真是坑爹,就下面的sh,竟然也写了很久! if [ `pwd` != '/usr/xx/bin/tomcat' ] then echo "rstall is not allowed in c ...
- 主机巡检脚本:OSWatcher.sh
主机巡检脚本:OSWatcher.sh 2016-09-26更新,目前该脚本只支持Linux操作系统,后续有需求可以继续完善. 注意: 经测试,普通用户执行脚本可以顺利执行前9项检查: 第10项,普通 ...
- Oracle巡检脚本:ORAWatcher.sh
Oracle巡检脚本:ORAWatcher.sh #!/usr/bin/ksh echo "" echo "ORAWatcher Version:1.0.1" ...
- 解决:/bin/sh: 1: /home/**/custom_app.sh: Permission denied错误
出现如下错误,一般是执行权限不够. /bin/sh: : /home/custom_app.sh: Permission denied 解决方法是:cd 到此文件目录,对提示的文件赋予可执行权限或读写 ...
- SH Script Grammar
http://linux.about.com/library/cmd/blcmdl1_sh.htm http://pubs.opengroup.org/onlinepubs/9699919799/ut ...
随机推荐
- javascript基础之对象
老师的博客:https://www.cnblogs.com/liwenzhou/p/8004649.html#autoid-1-8-6 JavaScript中的所有事物都是对象:字符串.数字.数组.日 ...
- UOJ #449. 【集训队作业2018】喂鸽子
UOJ #449. [集训队作业2018]喂鸽子 小Z是养鸽子的人.一天,小Z给鸽子们喂玉米吃.一共有n只鸽子,小Z每秒会等概率选择一只鸽子并给他一粒玉米.一只鸽子饱了当且仅当它吃了的玉米粒数量\(≥ ...
- 如何下载西门子产品CAD、3D和EPLAN文件
使用CAx下载管理器可以访问产品的最新CAD和CAE数据. 介绍 技术数据中包含一系列产品的尺寸图.可使用CAx下载管理器,如果需要更多信息. 可以在西门子全球支持数据库中快速方便地找到 3D,CAx ...
- 序言 - PHP零基础快速入门
我为什么要写<PHP零基础快速入门>? 原因: PHP 真心简单,适合零基础的人快速入门掌握,身边的人学习一两周上手开发的比比皆是: 市面上的文章或书籍对初学者并不友好,多半枯燥乏味,我相 ...
- SSM框架整合环境构建——基于Spring4和Mybatis3
目录 环境 配置说明 所需jar包 配置db.properties 配置log4j.properties 配置spring.xml 配置mybatis-spring.xml 配置springmvc.x ...
- mysql数据库中插入数据INSERT INTO SET的优势
往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...
- Javascript实现base64的加密解密
//1.加密解密方法使用: //1.加密 var str = '124中文内容'; var base = new Base64(); var result = base.encode(str); // ...
- Vue.js 2.x笔记:组件(5)
1. 组件简介 组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码. 组件:为了拆分Vue实例的代码量,以不同的组件来划分不同的功能模块,需要 ...
- bugku crypto 告诉你一个秘密(ISCCCTF)
emmmm....有点坑 题目: 636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A57 ...
- Jenkins+Git+Maven搭建自动化构建平台
http://blog.csdn.net/xlgen157387/article/details/50353317