为什么Roop运行时快时慢(版本1.1.0)

文章目录

  • (一) 时快时慢
  • (二) 解决
  • (三) 分析

最早的接触和介绍,而后的讨论和加速,以及同DFL/Simswap对比视频
然后1.0.1新版本的变化——安装,运行参数等。
始终有个奇怪的问题,就是笔记本上Roop运行的速度,时快时慢,相差几十倍。

(一) 时快时慢

最开始以为是NSFW内容检查的锅,后来证明不是。

不管哪个版本都会时快时慢。
就算反复处理同一个视频,每次都可能速度差异巨大。
更加奇怪的是,只有笔记本(3060-6GB)上会出现这个现象。

在台式机(3060-12GB)上,无论什么视频。分辨率不同大小,均能稳定10fps以上。

直到1.1.0版本,作者在进度条中加入了显存占用情况。

Processing:   5%|██             | 17/369 [01:10<21:37,  3.69s/frame, memory_usage=06.24GB, 
execution_providers=['CUDAExecutionProvider'], execution_threads=8]

我才猜测是不是显存不够了?
多观察几次感觉到了规律,就是显存占用很大(为什么能大于显卡物理内存?)的时候,就可能特别慢。
比如上面的日志显示,慢到速度单位变成了spf(每帧都需要好几秒),且预测21分钟才能完成。

(二) 解决

再看看命令行参数,其中有个 --execution-threads EXECUTION_THREADS
意思并行的线程数,如果不指定它则默认=8

当我减小这个参数(我设为了4),正常情况下速度可能会慢一些。
但再也没有出现过非常慢,比如0.1fps的情况了。

Processing: 100%|██████████████| 369/369 [00:38<00:00,  9.62frame/s, memory_usage=03.70GB, 
execution_providers=['CUDAExecutionProvider'], execution_threads=4]

单位变成了正常fps,同样的视频只用了38秒完成。

(三) 分析

和笔记本都是3060,但台式机显存12GB够,所以从来没有这个情况。
明明显存不够却没有报OOM。是否意味着各个线程在抢,导致不停的分配释放显存,所以很慢?


嗯,除了不能用nvenc压缩视频,现在Roop已经很完美了。

你可能感兴趣的:(Windows,Python,人工智能/机器学习,roop,thead,显存,python,人工智能)