当前位置: 首页 > news >正文

livetalking实时数字人多并发

为了支持实时数字人LiveTalking多并发时不增加模型占用显存,将模型推理由多进程模式改成了多线程,多个线程共用一份模型做推理。在用多进程时,每个进程都会在显存中拷贝一份模型,导致模型显存占用随并发数线性增长。当然用多线程也有一些弊端,因为在多线程中推理与视频压缩会抢占cpu时间片,如果模型推理速度较慢,会导致整体帧率达不到实时。如果有谁知道怎么在多进程中共用一个模型做推理,欢迎留言讨论。
以下数据都是在4090 24G显卡上测试得出。

1.wav2lip

wav2lip模型推理速度很快,用多线程基本没什么影响。占用显存在1.3G,推理速度能达到750fps。按照每路视频25fps计算,在同时说话时能支持30路。如果数字人不是同时说话,支持的路数更多,基本只受cpu视频压缩性能的限制。

2.musetalk

musetalk对显存和gpu计算性能都要求很高,占用显存12G,推理速度60fps。能够支持2路同时说话。在性能较低的显卡上用多线程可能影响较大,如果只要用一路视频,建议用多进程性能更好。只要修改musereal.py中如下代码

Thread(target=inference, args=(self.render_event,self.batch_size,self.input_latent_list_cycle,self.asr.feat_queue,self.asr.output_queue,self.res_frame_queue,self.vae, self.unet, self.pe,self.timesteps)).start()

将其中的Thread改为mp.Process

3.ernerf

ernerf对显存占用不太高,大概2G左右,这里面还包括了音频特征模型占用的的显存;对gpu计算性能要求较高,推理速度45fps。因此改成多进程比较好,因为现在ernerf模型用的比较少,这块还没实现。另外还有个优化点是不说话时用静音帧代替,不占用gpu计算性能。

相关文章:

  • 计算机体系结构中的MPU是什么?
  • LangGraph基础知识(MemorySaver/SqliteSaver )(三)
  • web程序设计期末复习-填空题
  • uni-app 自定义路由封装模块详解(附源码逐行解读)
  • Java 内部类要点总览
  • 开源夜莺支持MySQL数据源,更方便做业务指标监控了
  • Vision Prompt Tune(视觉提示微调)
  • 在ARM 架构的 Mac 上 更新Navicat到17后连接Oracle时报错:未加载 Oracle 库。
  • Windows 系统中修改文件默认打开方式
  • Java多线程实现之线程池详解
  • 机器人教学和实践的可编程智能仿生机器人平台——智能六足机器人
  • 临时抱佛脚v2
  • Vue Electron 使用来给若依系统打包成exe程序,出现登录成功但是不跳转页面(已解决)
  • OpenSSL 无法验证 DevSidecar 的自签名证书
  • 目标检测yolo算法
  • Windows 上安装 devsidecar 后,使用 WSL ubuntu ssl 报错
  • 机器视觉开发-边缘提取
  • Java-43 深入浅出 Nginx - 基本配置方式 nginx.conf Events块 HTTP块 反向代理 负载均衡
  • 永磁同步电机无速度算法--基于稳态卡尔曼滤波器SSEKF的滑模观测器
  • 实战使用docker compose 搭建 Redis 主从复制集群
  • 网站加入我们页面/小程序开发公司排行榜
  • 做一个网站后期维护需要多少钱/爱站网seo工具
  • 自定义wordpress标题的分隔符/seo网站推广如何做
  • 网站做乘法表/谷歌seo外链平台
  • 南京响应式网站制作/百度竞价专员
  • 一级做a免费体验区不用下载网站/全网营销推广方案外包