-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
显存问题和颜色问题 #3
Comments
是的,需要切块的 real-cugan 确实不太适合用 vs-mlrt 跑,因为算法需要整张图像做景深识别,在 vs-mlrt 的实现下算法只能看到每个块,而原版的实现能看到整张图的。 我有个想法是,动态生成和原版的一样的 onnx 运行图,不过感觉代码不那么好写…… 另外,用 trt 后端和 fp16 有助于降低显存占用,ort-cuda 后端关了 |
另外,jpg 应该 bt.601 matrix,所以脚本里面用 |
mvf.ToRGB(JPEGYUV, full=True, cplace="MPEG1", matrix="601", depth=32) |
我想提问者遇到的应该是跟我一样的疑问。就是比如我用vspreview预览,我单独一张图渲染出来是没问题的。但假设我渲染第一张图是吃满90%显存的时候,渲染结束后能看到显存依然占用着50%左右,这时候预览下一帧的时候就会报错显存不足了。每次预览只能预览一帧,然后kill掉vspreview之后再看下一帧才不会遇到爆显存的问题。 补充一下信息,vspipe跟vs是R59 python3.10的。vspreview是Irrational-Encoding-Wizardry最新的版本(0.2.7),vs-mlrt是9.1. backend均为ort-cuda, 显卡是3080ti 12GB显存,跑cugan的时候我把tiles尽量往小调,就很容易遇到这个问题了。 |
感谢,可以确认这个问题是存在的 按理来说,在滤镜初始化才会申请显存,在释放滤镜实例时才释放,这样在用 vspipe 途中显存占用会是固定的;但现在的确发现,跑的过程中仍会申请显存,这样不仅影响速度,还容易出现显存不足了 我去研究下是哪里的问题 |
related issue: #3 (comment) this optimization is enabled in vs-mlrt v9 by dbd6803
麻烦测下 v9.2. 这个问题看起来和 ort 内部会动态优化显存占用有关。 vs-mlrt v9 之前的版本这功能被关掉了,但 v9 里被我改代码时删掉了… |
在这种情况下(一般情况),运行很完美:
但如果遇到调用多次,或者分别调用不同滤镜,显存还是会增长,然后爆掉
or
|
这种时候目前会创建多个滤镜实例,vs 的执行逻辑是:
这样就没法复用了 TRT 后端的确能实现复用显存且不怎么掉速,但 OV 和 ORT 后端还不知道怎么做 |
多次调用函数显存会叠加导致爆显存,而upcunet_v3_vs没有问题
脚本例子
问题2颜色问题
alpha=1
model=保守
原图
输出
The text was updated successfully, but these errors were encountered: