Deoldify Vapoursynth filter - Printable Version +- Selur's Little Message Board (https://forum.selur.net) +-- Forum: Talk, Talk, Talk (https://forum.selur.net/forum-5.html) +--- Forum: Small Talk (https://forum.selur.net/forum-7.html) +--- Thread: Deoldify Vapoursynth filter (/thread-3595.html) |
RE: Deoldify Vapoursynth filter - Dan64 - 19.09.2024 I forgot to add torch_dir parameter in HAVC_deepex(). The new RC6 should fix this issue. Dan RE: Deoldify Vapoursynth filter - Selur - 19.09.2024 That works. Since this seems slower than the previous methods (untested, just a first impression), do you think ColorMNet should really be the default? Will do some testing and create an adjusted Hybrid test version tomorrow after work. (going to bed in an hour or so since I have to get up tomorrow at 4am ) Cu Selur RE: Deoldify Vapoursynth filter - Selur - 20.09.2024 Using: clip = HAVC_main(clip=clip, EnableDeepEx=True, DeepExRefMerge=0, ScFrameDir="J:/tmp", DeepExModel=0, DeepExEncMode=0, DeepExMaxMemFrames=0) vapoursynth.Error: HAVC_deepex: encode_mode in (0, 1) and max_memory_frames == 0 but: max_memory_frames: Parameter used by ColorMNet model, specify the max number of encoded frames to keep in memory. Cu Selur RE: Deoldify Vapoursynth filter - Dan64 - 20.09.2024 It is right, max_memory_frames is supported only with encode_mode = 2. I attached a new RC7 with some bug corrected and an improved message (I hope). I also attached a more serious sample, with more scripts for testing. I will release a comparison of 2 models later. Dan RE: Deoldify Vapoursynth filter - Selur - 20.09.2024 Quote: It is right, max_memory_frames is supported only with encode_mode = 2.Okay, then I do not understand what you mean with Quote: :param DeepExMaxMemFrames: Parameter used by ColorMNet model, specify the max number of encoded frames to keep in memory.as I understand that text, if you have a 12 GB card and use encode_mode=0, it is recommended to use 12-14 frames. But from your statement it sounds like for encode_mode 0 and 1 DeepExMaxMemFrames is always set automatically and needs to be specified for mode 0. => still confused Using: clip = HAVC_main(clip=clip) Enabling 'Exemplar Models' and thus using: clip = HAVC_main(clip=clip, EnableDeepEx=True, DeepExRefMerge=0, ScFrameDir="J:/tmp", DeepExModel=0, DeepExEncMode=0, DeepExMaxMemFrames=0) Vapoursynth.Error: HAVC_deepex: max_memory_frames == 0 but encode_mode 2 (Are you use this si a RC an not an alpha?) Cu Selur Ps.: Updated test version, but like mentioned it will crash,... RE: Deoldify Vapoursynth filter - Dan64 - 20.09.2024 I will change the text as following, I hope that is more clear. Quote:DeepExMaxMemFrames: Parameter used by ColorMNet model, specify the max number of encoded frames to keep in memory.If you know a way to get in python the amount of GPU memory I can try to set DeepExMaxMemFrames when is = 0, but for the moment it need to be always > 0. The only exception is for DeepExEncMode = 0 that has no memory limitation. Please assign a value to max_memory_frame. I released the new RC8. Now in the case max_memory_frames == 0, the value is automatically assigned with the values suggested depending on the total GPU memory. Dan RE: Deoldify Vapoursynth filter - Selur - 20.09.2024 You lost me. This gets more and more confusing, since I have no clue how you envision this to work. Quote: Now in the case max_memory_frames == 0, the value is automatically assigned with the values suggested depending on the total GPU memory.Please, do not start to add additional stuff if you did not plan for it, like automatically setting the max_memory_frame value. => Remove that! Please explain, ignore recommended values:
Quote:Please assign a value to max_memory_frame.Okay, I will always set max_memory_frame/DeepExMaxMemFrames even if it's the default value. Cu Selur RE: Deoldify Vapoursynth filter - Dan64 - 20.09.2024 I released the new RC9, with the following updated description Quote::param max_memory_frames: Parameter used by ColorMNet model, specify the max number of encoded frames to keep in memory. To get the GPU memory available I use torch.cuda.mem_get_info() because what is relevant is the amount of GPU RAM seen by torch. ColorMNet has huge memory problems when is used inside Vapoursynth. The only encode mode not having this limit is encode mode = 2 where max_memory_frames can be set even above 10000. The values are heuristic estimates based on my GPU that has 12GB of RAM (reported correctly by torch). In the case the frames are too high the encoding will fail with the error: GPU out of memory. There is nothing that I can do for that and in this case the user must lower the number of max_memory_frames defined in input to the filter. Dan RE: Deoldify Vapoursynth filter - Selur - 20.09.2024 According to that, max_memory_frames can always be set, independently of encode_mode. Is that correct? Assuming this is correct. I will adjust Hybrid (tomorrow) to (independent of the encode_mode): a. set min=0 and max = 10000 b. by default set 0 c. always set the max_memory_frames/DeepExMaxMemFrames value Cu Selur RE: Deoldify Vapoursynth filter - Dan64 - 20.09.2024 Fine for me. This weekend I will be away and I will not be able to test new releases. Try to see the new samples. Try the encode mode=2 with a clip with more than 10000 frames and see what happens. You will discover that: 1) it is not possible to use the Preview 2) you will not be able to estimate the fps from vspipe, because most of the time is spent by the script execution outside Vapoursynth. I don't know if this behaviour could be a problem for Hybrid, please check. Thanks, Dan |