본문 바로가기

컴퓨터/머신러닝 (Machine Learning)

Super resolution 모델, HAT, inference 사용 정리

Ubuntu 20.04
ROCm

AMD GPU Radeon VII

 

공식 github

GitHub - XPixelGroup/HAT: Arxiv2022 - Activating More Pixels in Image Super-Resolution Transformer

 

GitHub - XPixelGroup/HAT: Arxiv2022 - Activating More Pixels in Image Super-Resolution Transformer

Arxiv2022 - Activating More Pixels in Image Super-Resolution Transformer - GitHub - XPixelGroup/HAT: Arxiv2022 - Activating More Pixels in Image Super-Resolution Transformer

github.com

 

1. github 다운로드

 

git clone https://github.com/XPixelGroup/HAT.git

 

이후 모두 HAT 폴더 내부에서 작업

 

2. 필수 패키지 확인 및 설치

다운로드 한 HAT 폴더 내에 있는 requirements.txt 파일 확인

 

nano requirements.txt

 

einops, pytorch >= 1.7, basicsr == 1.3.4.9 가 필요

환경에 맞는 (CUDA, ROCm 등) torch를 설치

 

3. setup.py 수정

패키지 경로를 연결해 주기 위해 setup.py를 실행하기 전

setup.py 코드 중 패키지 확인 및 설치 부분을 주석처리 한다

 

 

get_requirements 함수가 문제이니

하단 install_requires 부분을 주석처리

 

4. setup.py 실행

 

python3 setup.py develop

 

실행하면

hat.egg-info 폴더가 생기는 등 폴더들이 업데이트 된다.

 

5. weight 다운로드 및 모델 yml 파일 수정

공식 깃헙에서 제공하는 google drive 링크로 이동해서 weight 파일을 받은 후

experiments/pretrained_models/ 폴더 안으로 이동

 

 

options/test/ 에 모델 설정을 정의한 yml 파일이 모여있다.

HAT_SRx4_ImageNet-LR.yml 이 custom inference 예제 파일이고

나머지는 모델 성능 벤치마킹을 위한 파일이다.

 

 

수정할 내용을 정리하면

  • scale
  • tile 부분 주석처리 (gpu memory가 낮을때 사용하는 설정)
  • dataroot_lq 부분에 inference를 진행할 dataset 경로 입력
  • upscale
  • pretrain_network_g 부분에 위에서 받은 weight 파일 경로 입력

6. inference

 

python3 hat/test.py -opt options/test/HAT_SR_ImageNet-LR.yml

 

results 폴더 안에 inference 된 이미지들이 저장된다.

 

hat 패키지 import 에러가 발생할 경우

setup.py 를 다시 돌려본다.