[5분 SOTA 논문 코드 및 성능 재현 리뷰] ICCV 2021, Learning Action Completeness from Points for Weakly-supervised Temporal Action Localization 코드 가상환경 이슈 해결

2022. 12. 11. 18:04[코드 리뷰]

Troubleshooting the problem that does not support Nvidia GeForce RTX 3090

해당 논문의 저자가 배포한 소스코드를 Nvidia GeForce RTX 3090 기반 시스템에서 구동시키고자 하였으나 다음과 같은 에러가 발생함.

Error message: NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.

확인 결과, RTX 3090을 사용하는 경우 CUDA 11.0 이상만 지원됨.

하지만 소스코드 구동에 있어서 저자가 권장하는 PyTorch와 Torchvision 버전은 각각 1.6.0과 0.7.0으로 CUDA 10.2까지만 호환이 되기 때문에 에러가 발생함.

 

따라서 CUDA 11.0까지 지원해주는 PyTorch 1.7.0과 Trochvision 0.8.0 이상으로 변경하여 설치해야 함.

  • torch==1.6.0 → 1.7.1+cu110
  • torchvision==0.7.0 → 0.8.2+cu110

다음 command를 통해 CUDA 11.0과 호환되는 PyTorch와 Torchvision 설치가 가능함.

$ pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html

위의 과정을 통해 LACP 소스코드가 RTX 3090 기반 시스템에서 구동되는 것을 확인할 수 있었음.

 

추가적으로 PyTorch 버전 변화에 따른 영향을 스터디하기 위해 저자가 배포한 소스코드를 TITAN RTX와 RTX 3090 기반 시스템 각각에서 구동시키고 성능을 측정함.

스터디 과정에서 THUMOS'14 데이터셋을 이용하여 성능을 재현했으며, ICCV 2021 논문에서 reporting된 성능과 비교함.

  mAP average(0.1:0.5) mAP average(0.3:0.7)
Paper 62.7 44.5
TITAN RTX 62.5 43.8
RTX 3090 62.4 43.9

링크를 통해 pre-trained model을 다운받을 수 있음.

Conclusion

  1. THUMOS'14 데이터셋에 대한 실험 결과를 통해 PyTorch 변화에 따른 영향이 크지 않음을 확인함.

  2. ICCV 2021 논문에서 reporting된 성능이 비교적 잘 재현된 것을 확인함.

References

[1] Lee, Pilhyeon, and Hyeran Byun. "Learning action completeness from points for weakly-supervised temporal action localization." In Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.

[2] https://github.com/Pilhyeon/Learning-Action-Completeness-from-Points

[3] https://pytorch.org/get-started/previous-versions/

[4] https://docs.nvidia.com/deploy/cuda-compatibility/index.html

[5] https://velog.io/@somnode/gpu-cuda-driver-tensorflow-pytorch-version-compatibility