推理速度
SSTato opened this issue · 4 comments
SSTato commented
怎么看推理速度呢
yeyupiaoling commented
这样,要执行两次,第一次是预热。
def infer():
s = time.time()
data = load_audio(args.audio_path, mode='infer')
data = data[np.newaxis, :]
data = torch.tensor(data, dtype=torch.float32, device=device)
# 执行预测
output = model(data)
result = torch.nn.functional.softmax(output, dim=-1)
result = result.data.cpu().numpy()
# 显示图片并输出结果最大的label
lab = np.argsort(result)[0][-1]
print(f'音频:{args.audio_path} 的预测结果标签为:{class_labels[lab]}')
print(time.time() - s)
SSTato commented
这样,要执行两次,第一次是预热。
def infer(): s = time.time() data = load_audio(args.audio_path, mode='infer') data = data[np.newaxis, :] data = torch.tensor(data, dtype=torch.float32, device=device) # 执行预测 output = model(data) result = torch.nn.functional.softmax(output, dim=-1) result = result.data.cpu().numpy() # 显示图片并输出结果最大的label lab = np.argsort(result)[0][-1] print(f'音频:{args.audio_path} 的预测结果标签为:{class_labels[lab]}') print(time.time() - s)
时间是1.5104613304138184
执行两次是为什么,因为我多次执行基本都是1.5左右,是不是因为启动也需要时间的原因,如果批预测的话平均时间就低了?不知道我的理解对吗,如果看推理速度的话,应该是计算多个文件预测的平均时间吧
yeyupiaoling commented
你的预热是再一个程序里面执行多次吗?
是这样的哦:
if __name__ == '__main__':
infer()
infer()
infer()
SSTato commented
你的预热是再一个程序里面执行多次吗? 是这样的哦:
if __name__ == '__main__': infer() infer() infer()
sorry,我明白了,确实是预热的原因,时间是0.031914710998535156,很快了,多谢!