最早的接触和介绍,而后的讨论和加速,以及同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已经很完美了。