NVlabs / PWC-Net

PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume, CVPR 2018 (Oral)
Other
1.63k stars 357 forks source link

Fusion-Net: Correlation package cannot be installed in cuda 9 and cuda 10. #84

Closed BingWang039 closed 5 years ago

BingWang039 commented 5 years ago

Hi,

I tried many times to install external packages. I tried python 2.6&3.7, pytorch 0.4&1.0, cuda9.0&cuda10.1. Unfortunately, all of these were failed.

When I type "python setup.py build install", Error information is as below,

  1. error: command 'gcc' failed with exit status 1. (python3.7&pytorch0.4&cuda9.0) then I upgraded the pytorch from 0.4 to 1.0.1, then the error is as below,
  2. Type Error: dist must be a Distribution instance (python3.7&pytroch1.0&cuda9.0)

I tried to upgrade setuptools, but it is useless.

I am using the college's HPC (just have CUDA9 and CUDA10), so I guess the version of CUDA is the main reason why I can not install correlation package.

Could anyone tell me how to solve this?

jrenzhile commented 5 years ago

@BingWang039 our code was implemented in Python 2.7 & PyTorch 0.2 & CUDA 8.0 (as indicated in the readme file), therefore it's likely pytorch version is the issue. The code was developed a while ago, so it was supported by old versions of softwares.

jeffbaena commented 5 years ago

@BingWang039 I also had a similar problem with versioning. I think this implementation of the correlation layer might be useful for you https://github.com/ClementPinard/Pytorch-Correlation-extension, it is very similar to NVIDIA official implementation.

I haven't tried with PWC-Net, but with FlowNetC given in https://github.com/ClementPinard/FlowNetPytorch and CUDA 10 it works like a charm.

Please let me know if you manage to solve this issue, thanks

Stefano

BingWang039 commented 5 years ago

@BingWang039 I also had a similar problem with versioning. I think this implementation of the correlation layer might be useful for you https://github.com/ClementPinard/Pytorch-Correlation-extension, it is very similar to NVIDIA official implementation.

I haven't tried with PWC-Net, but with FlowNetC given in https://github.com/ClementPinard/FlowNetPytorch and CUDA 10 it works like a charm.

Please let me know if you manage to solve this issue, thanks

Stefano

Hi Stefano,

I think I have already solved this problem. I finally used pytorch 0.3.1, Cuda9.0 & python 3.7, and it runs successfully. The error occurred in corr_cuda.c. the error information is as below, line 25: duplicate member 'size' int size[1] line 26: duplicate member 'size' int size[2] line 27: duplicate member 'size' int size[3] Then I went to corr_cuda.c and delete the related lines. image

Then it shows "finished processing dependencies for correlation-package==0.1" which means the correlation package was installed successfully.

Hope this can help you. Bing

BingWang039 commented 5 years ago

@BingWang039 I also had a similar problem with versioning. I think this implementation of the correlation layer might be useful for you https://github.com/ClementPinard/Pytorch-Correlation-extension, it is very similar to NVIDIA official implementation. I haven't tried with PWC-Net, but with FlowNetC given in https://github.com/ClementPinard/FlowNetPytorch and CUDA 10 it works like a charm. Please let me know if you manage to solve this issue, thanks Stefano

Hi Stefano,

I think I have already solved this problem. I finally used pytorch 0.3.1, Cuda9.0 & python 3.7, and it runs successfully. The error occurred in corr_cuda.c. the error information is as below, line 25: duplicate member 'size' int size[1] line 26: duplicate member 'size' int size[2] line 27: duplicate member 'size' int size[3] Then I went to corr_cuda.c and delete the related lines. image

Then it shows "finished processing dependencies for correlation-package==0.1" which means the correlation package was installed successfully.

Hope this can help you. Bing

And I think this can be also solved the problem in cuda10. You can try it. I met many errors when I tried to install the correlation package. I solved them one by one, and then finally back to "duplicate member..." which is also the initial error when I first debugged the code.