赞
踩
RTF(real time factor)表示如下:
R
T
F
=
A
S
R
识
别
所
有
音
频
处
理
时
间
(
单
位
秒
)
所
有
音
频
总
时
间
(
单
位
秒
)
RTF=\frac{ASR识别所有音频处理时间 (单位秒)}{所有音频总时间 (单位秒)}
RTF=所有音频总时间(单位秒)ASR识别所有音频处理时间(单位秒)
【意义】:平均1秒时长音频
给ASR算法需要多少秒处理
,小于1才能达到实时效果。越小越好,正常0.2-0.3
该指标针对的是在线ASR识别指标
具体见官方代码(参考文献):
BaseFloat frame_shift = 0.01;
BaseFloat real_time_factor =
global_timer.Elapsed() / (frame_shift * num_frames);
if (num_frames > 0)
KALDI_LOG << "Real-time factor was " << real_time_factor
<< " assuming frame shift of " << frame_shift;
另外一段代码(参考文献):
double real_time_factor = total_time_taken_ / total_audio_,
average_wait = (total_time_taken_ - total_audio_) / num_utts_,
idle_proportion = total_time_waited_ / total_audio_,
idle_percent = 100.0 * idle_proportion;
double elapsed = timer.Elapsed();
KALDI_LOG << "Time taken "<< elapsed
<< "s: real-time factor assuming 100 frames/sec is "
<< (elapsed*100.0/frame_count);
【注解】 会发现上面三段代码都是一个意思
r
e
a
l
_
t
i
m
e
_
f
a
c
t
o
r
=
t
o
t
a
l
_
t
i
m
e
_
t
a
k
e
n
t
o
t
a
l
_
a
u
d
i
o
=
t
o
t
a
l
_
t
i
m
e
_
t
a
k
e
n
f
r
a
m
e
_
s
h
i
f
t
⋅
n
u
m
_
f
r
a
m
e
s
=
t
o
t
a
l
_
t
i
m
e
_
t
a
k
e
n
0.01
⋅
n
u
m
_
f
r
a
m
e
s
=
100
⋅
t
o
t
a
l
_
t
i
m
e
_
t
a
k
e
n
n
u
m
_
f
r
a
m
e
s
即:
音
频
总
时
长
=
t
o
t
a
l
_
a
u
d
i
o
=
f
r
a
m
e
_
s
h
i
f
t
⋅
n
u
m
_
f
r
a
m
e
s
=
0.01
⋅
n
u
m
_
f
r
a
m
e
s
\color{red}音频总时长=total\_audio = frame\_shift \cdot num\_frames=0.01 \cdot num\_frames
音频总时长=total_audio=frame_shift⋅num_frames=0.01⋅num_frames
RTX(real time x)表示如下:
R
T
X
=
所
有
音
频
总
时
间
(
单
位
秒
)
A
S
R
识
别
所
有
音
频
处
理
时
间
(
单
位
秒
)
RTX=\frac{所有音频总时间 (单位秒)}{ASR识别所有音频处理时间 (单位秒)}
RTX=ASR识别所有音频处理时间(单位秒)所有音频总时间(单位秒)
【意义】:平均1秒时间内
我们的ASR算法可以处理多长时间的音频
,越大越好,正常在GPU上是500多
参考代码:
KALDI_LOG << "Overall: "
<< " Aggregate Total Time: " << total_time
<< " Total Audio: " << total_audio * iterations
<< " RealTimeX: " << total_audio * iterations / total_time;
online-timing.cc
online2-wav-nnet2-latgen-threaded.cc
gmm-latgen-simple.cc
batched-wav-nnet3-cuda.cc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。