MuseTalk icon indicating copy to clipboard operation
MuseTalk copied to clipboard

为什么realtime脚本生成用时,比日志显示的fps实际要慢很多?

Open jercas opened this issue 1 year ago • 9 comments

  • 生成数据:均使用的测试样例(video: sun.mp4 | audio: yongen.wav);

  • 使用脚本:realtime_inference,已提前完成avater数据的抽取,仅仅进行语音片段生成;

  • 问题1:202帧的片段,日志显示平均fps为77.5

    • 此处为什么每四帧处理一次,且第一帧的处理速度要远远慢于后者(10 >> 100)? image
  • 问题2:按fps推算,202处理完总共应只需几秒钟,但实际打点的耗时为23s(未统计后续的帧+音频合成视频的时间) image

jercas avatar Apr 26 '24 09:04 jercas

Hello,延时有很大部分是存储png所致的。目前的代码逻辑是,batch=4推理UNet与VAE,同时会有单独线程进行图片拼接与存储png。进度条播放完其实已经生成完了,后续是拼接与存png的时间

你这边看起来没有开单独线程进行存储?

itechmusic avatar Apr 26 '24 09:04 itechmusic

@itechmusic 感谢回复! 我这边是按照realtime_inference的pipline启动跑的,并没有看到单独启线程进行图片处理的部分,这边看到图片的存储实在realtime_inference.procees_frames() func里,紧接着image_blending之后处理的。

请问这拆分存储、拼接对的部分代码在哪个模块,或者是否有参照的脚本呢?

jercas avatar Apr 26 '24 09:04 jercas

hello,不好意思,目前发现这个脚本有些bug,速度不太正常。我们正在修复

itechmusic avatar Apr 26 '24 15:04 itechmusic

png能否不落地,常驻内存,后面在落到磁盘

kingsaction avatar Apr 26 '24 15:04 kingsaction

目前代码已经修复,加入了float16使推理速度达到30fps+。速度会受I/O影响,可以使用python -m scripts.realtime_inference --inference_config configs/inference/realtime.yaml --skip_save_images命令跳过保存png,单纯体验推理速度。

itechmusic avatar Apr 27 '24 11:04 itechmusic

hi,经过测试后,skip_save_images看起来并没有减少I/O的损失,测试的日志如下:

  • 硬件:V100 * 1;

  • 样例:测试case中的sun视频+音频。

  • 存图片 image

  • 不存图片 image

jercas avatar Apr 28 '24 03:04 jercas

hi,经过测试后,skip_save_images看起来并没有减少I/O的损失,测试的日志如下:

  • 硬件:V100 * 1;
  • 样例:测试case中的sun视频+音频。
  • 存图片
image * 不存图片 image

hello,第一次运行时可能会有模型warm up导致的耗时。这是我们在V100上用batch_size=8的结果 image

itechmusic avatar Apr 28 '24 10:04 itechmusic

感谢~ 依照测试,warmup的问题确实会一定程度上影响Infer速率,我依照你的测试配置,跑了几版测试,但fps还是远低于图例,请问其中差距 问题大概在哪呢?

  • 测试视频 sun.mp4,测试音频[yongen.wav, sun.wav, yongen.wav, sun.wav],已提前进行avater抽取
  • 硬件v100-SXM2-32GB * 1, bs=8
image

jercas avatar Apr 28 '24 11:04 jercas

感谢~ 依照测试,warmup的问题确实会一定程度上影响Infer速率,我依照你的测试配置,跑了几版测试,但fps还是远低于图例,请问其中差距 问题大概在哪呢?

  • 测试视频 sun.mp4,测试音频[yongen.wav, sun.wav, yongen.wav, sun.wav],已提前进行avater抽取
  • 硬件v100-SXM2-32GB * 1, bs=8
image

有点不知道原因。。。请问有试过换一张卡测试吗?

itechmusic avatar Apr 28 '24 12:04 itechmusic