codeslake / pvdnet Goto Github PK
View Code? Open in Web Editor NEW[TOG 2021] Official PyTorch Implementation for "Recurrent Video Deblurring with Blur-Invariant Motion Estimation and Pixel Volumes"
License: GNU Affero General Public License v3.0
[TOG 2021] Official PyTorch Implementation for "Recurrent Video Deblurring with Blur-Invariant Motion Estimation and Pixel Volumes"
License: GNU Affero General Public License v3.0
Hi, this is a great job! But I have some questions about PVDNet. I have tested PVDNet (normal size version) on DVD and GOPRO with the checkpoint provided, however, the testing results are lower than those in the original paper. Specifically, I got 31.89 PSNR and 0.9236 SSIM on DVD, and 31.09 PSNR and 0.9140 SSIM on GOPRO. So, is there something wrong with the configuration?
Hello,
I get the above error in the torch.correlation_C11.py function at line 300 (cupy_launch(...)).
The behaviour is quite strange. It works well on a machine with 2 Quadro P6000 but this error appears when running the script on RTX6000 Ada Generation.
I'm using cupy 11.7 and torch 1.13.0 on both machines.
Best regards,
Florian
File "run.py", line 277, in
config_lib.log_config(config.LOG_DIR.config, config)
File "E:\code\python\PVDNet\configs\config.py", line 136, in log_config
with open(path + '/config.txt', 'w') as f:
PermissionError: [Errno 13] Permission denied: 'E:/code/python/PVDNet\PVDNet_TOG2021\PVDNet_DVD\config/config.txt'
(PVDNet) PS D:\PVDNet> python run.py --mode PVDNet_large_nah --config config_PVDNet_large --data random --ckpt_abs_name ckpt/PVDNet_large_nah.pytorch
Laoding Config for evaluation
Traceback (most recent call last):
File "run.py", line 311, in
config = config_lib.get_config(args.project, args.mode, args.config)
File "D:\PVDNet\configs\config_PVDNet_large.py", line 42, in get_config
IpE = math.ceil((len(list(range(0, total_frame_num - (config.frame_itr_num-1), config.frame_itr_num)))) / actual_batch_size) * config.frame_itr_num
ZeroDivisionError: division by zero
Hi, I am getting the following error when I run this code on windows.
Traceback (most recent call last):
File "run.py", line 295, in
trainer.train()
File "run.py", line 69, in train
self.ckpt_manager.save(self.model.get_network(), self.model.get_training_state(0), 0, score = [1e-8, 1e8])
File "D:\PVDNet-main\ckpt_manager.py", line 138, in save
self._update_files()
File "D:\PVDNet-main\ckpt_manager.py", line 148, in _update_files
lines_prev = self._sort(lines[:-1])
File "D:\PVDNet-main\ckpt_manager.py", line 166, in _sort
scores = [float(score.split(' ')[1]) for score in lines]
File "D:\PVDNet-main\ckpt_manager.py", line 166, in
scores = [float(score.split(' ')[1]) for score in lines]
IndexError: list index out of range
Hello, can you share the logs file. The code reports an error because the logs file is missing during the test.
Traceback (most recent call last):]
File "run.py", line 295, in
trainer.train()
File "run.py", line 88, in train
assert self.norm != 0
AssertionError
D:\Anaconda3\envs\PVDNet\python.exe E:/code/python/PVDNet/run.py
Laoding Config for evaluation
Project : PVDNet_TOG2021
Mode : PVDNet_DVD
Config: config_PVDNet
Network: PVDNet
Trainer: trainer
Loading Model...
initializing deblurring network
Traceback (most recent call last):
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\cupy\cuda\compiler.py", line 685, in compile
nvrtc.compileProgram(self.ptr, options)
File "cupy_backends\cuda\libs\nvrtc.pyx", line 141, in cupy_backends.cuda.libs.nvrtc.compileProgram
File "cupy_backends\cuda\libs\nvrtc.pyx", line 153, in cupy_backends.cuda.libs.nvrtc.compileProgram
File "cupy_backends\cuda\libs\nvrtc.pyx", line 69, in cupy_backends.cuda.libs.nvrtc.check_status
cupy_backends.cuda.libs.nvrtc.NVRTCError: NVRTC_ERROR_COMPILATION (6)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:/code/python/PVDNet/run.py", line 347, in
eval(config)
File "E:\code\python\PVDNet\eval.py", line 198, in eval
eval_quan_qual(config)
File "E:\code\python\PVDNet\eval.py", line 68, in eval_quan_qual
blur_folder_path_list, blur_file_path_list, gt_file_path_list = init(config, mode)
File "E:\code\python\PVDNet\eval.py", line 43, in init
model = create_model(config)
File "E:\code\python\PVDNet\models_init_.py", line 5, in create_model
model = lib.Model(config)
File "E:\code\python\PVDNet\models\trainers\trainer.py", line 44, in init
Macs,params = get_model_complexity_info(self.network, (1, 3, 720, 1280), input_constructor = self.network.input_constructor, as_strings=False,print_per_layer_stat=config.is_verbose)
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\ptflops\flops_counter.py", line 34, in get_model_complexity_info
_ = flops_model(**input)
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\torch\nn\modules\module.py", line 1148, in _call_impl
result = forward_call(*input, **kwargs)
File "E:\code\python\PVDNet\models\trainers\trainer.py", line 304, in forward
w_bb = upsample(self.BIMNet(norm(I_curr_refined ), norm(I_prev_refined )), refine_h, refine_w)
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "E:\code\python\PVDNet\models\archs\liteFlowNet.py", line 246, in forward
tensorFlow = self.moduleMatching[intLevel](tensorFirst[intLevel], tensorSecond[intLevel], tensorFeaturesFirst[intLevel], tensorFeaturesSecond[intLevel], tensorFlow)
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "E:\code\python\PVDNet\models\archs\liteFlowNet.py", line 118, in forward
tensorCorrelation = torch.nn.functional.leaky_relu(input=FunctionCorrelation(tensorFirst=tensorFeaturesFirst, tensorSecond=tensorFeaturesSecond, intStride=1), negative_slope=0.1, inplace=False)
File "E:\code\python\PVDNet\models\archs\torch_correlation_C11.py", line 403, in FunctionCorrelation
return _FunctionCorrelation.apply(tensorFirst, tensorSecond, intStride)
File "E:\code\python\PVDNet\models\archs\torch_correlation_C11.py", line 300, in forward
cupy_launch('kernel_Correlation_rearrange', cupy_kernel('kernel_Correlation_rearrange', {
File "cupy_core\raw.pyx", line 89, in cupy._core.raw.RawKernel.call
File "cupy_core\raw.pyx", line 96, in cupy._core.raw.RawKernel.kernel.get
File "cupy_core\raw.pyx", line 113, in cupy._core.raw.RawKernel._kernel
File "cupy_util.pyx", line 67, in cupy._util.memoize.decorator.ret
File "cupy_core\raw.pyx", line 547, in cupy._core.raw._get_raw_module
File "cupy_core\core.pyx", line 2081, in cupy._core.core.compile_with_cache
File "cupy_core\core.pyx", line 2141, in cupy._core.core.compile_with_cache
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\cupy\cuda\compiler.py", line 492, in _compile_module_with_cache
return _compile_with_cache_cuda(
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\cupy\cuda\compiler.py", line 570, in _compile_with_cache_cuda
ptx, mapping = compile_using_nvrtc(
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\cupy\cuda\compiler.py", line 321, in compile_using_nvrtc
return _compile(source, options, cu_path,
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\cupy\cuda\compiler.py", line 305, in _compile
compiled_obj, mapping = prog.compile(options, log_stream)
File "D:\Anaconda3\envs\PVDNet\lib\site-packages\cupy\cuda\compiler.py", line 704, in compile
raise CompileException(log, self.src, self.name, options,
cupy.cuda.compiler.CompileException: Catastrophic error: cannot open source file "C:\Users\鑳℃烦淇奬AppData\Local\Temp\tmprv5reuna\d0f546e6b437468d05490e1069adb24672c7985b.cubin.cu"
1 catastrophic error detected in the compilation of "C:\Users.....\AppData\Local\Temp\tmprv5reuna\d0f546e6b437468d05490e1069adb24672c7985b.cubin.cu".
Compilation terminated.
Thanks for your work!
I have configured the environment for the project. I don't know whether it can be used in a single photo to blur it. I was hoping you could help me with that.
Could you make your paper public, please? I'd like to learn more about the details of the model and the role of the modules.
(PVDNet):CUDA_VISIBLE_DEVICES=0 python -B run.py --is_train --mode PVDNet_DVD --config config_PVDNet --trainer trainer --data DVD --LRS CA -b 2 -th 8 -dl -ss -dist
Traceback (most recent call last):
File "run.py", line 263, in
init_dist()
File "run.py", line 193, in init_dist
rank = int(os.environ['RANK'])
File "/home/liao/anaconda3/envs/PVDNet/lib/python3.8/os.py", line 675, in getitem
raise KeyError(key) from None
KeyError: 'RANK'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.