TecoGAN 모델 사용해보기

Dong·2022년 9월 26일

인공지능

목록 보기
2/3

Github에 구현된 TecoGAN 다운로드

clone 후 코드를 실행해보면 정상 실행이 되지 않아 오류 발생 및 해결방법 정리

오류 1 - tecogan의 구현코드는 tensorflow 1.x버전이라 2.x에서 실행 불가
해결 1 - 해당 깃허브의 pull requests를 찾아보던 중 누가 2.x에 호환되도록
request한 코드가 있었음(https://github.com/RAFALAMAO/TecoGAN), 해당 코드로 교체함

오류 2 - python3 runGan.py 1 실행시 라이브러리 설치했음에도 불구하고 cannot import 오류발생
해결 2 - python3 대신 python으로 실행, runGan.py에서 python3으로 적힌 실행코드들을
모두 python으로 바꾸어줌

오류 3 - python runGan.py 2 실행 중 cannot import name 'compare_ssim' from 'skimage.measure'
해결 3 - TecoGAN/LPIPSmodels/util.py와 TecoGAN/metrics.py에서
from skimage.measure import compare_ssim의 코드를
from skimage.metrics import structural_similarity로 바꿈

예제 LR 이미지들을 Pretrained된 모델에 돌려보기

예제 이미지 다운로드

python runGan.py 0 실행 -> wget 오류 발생(코드 실행환경은 리눅스, 현재환경은 윈도우)
runGan.py코드를 보고 pretrained model과 예제 이미지를 직접 다운로드
1. TecoGAN/model에 파일 넣기 https://ge.in.tum.de/download/data/TecoGAN/model.zip
2. TecoGAN/LR에 파일 넣기 https://ge.in.tum.de/download/data/TecoGAN/vid3_LR.zip
https://ge.in.tum.de/download/data/TecoGAN/tos_LR.zip
3. TecoGAN/HR에 파일 넣기 https://ge.in.tum.de/download/data/TecoGAN/vid4_HR.zip
https://ge.in.tum.de/download/data/TecoGAN/tos_HR.zip

LR이미지들을 pretrained 모델에 입력으로 넣어 HR영상으로 출력

python runGan.py 1 실행
현재는 TecoGAN/LR/calendar 영상이 입력으로 들어감
runGan.py 파일에서 testpre에 학습시키고 싶은 LR데이터셋의 경로를 넣을 수 있음

결과(Calendar dataset)

원본 이미지 SR된 이미지 LR 이미지

SR된 이미지와 원본 이미지를 비교해 평가지표 출력

python runGan.py 2 실행
위와 마찬가지로 testpre에서 평가할 이미지 변경가능
평가지표 결과는 TecoGAN/metric_log에 저장됨

결과

모델 학습 시켜보기

학습용 데이터셋 다운로드

python dataPrepare.py –help로 살펴보기 -> cannot import name ‘clock’ from ‘time’ 에러
(dataPrepare.py 코드를 보니 from time import clock 코드 안 쓰여서 주석처리 함)
python dataPrepare.py –start_id 2000 –duration 120 –disk_path datasets로 데이터셋 다운
전체 데이터를 다운받는데 시간이 너무 오래 걸려서 50/290개만 받음(1시간 소요)

데이터셋 학습

python runGan.py 2 실행 (Train the TecoGAN Model)
wget 오류 발생(윈도우 환경) -> 직접 파일 다운로드
사전 훈련된 VGG19, FRVSR model 직접 다운로드 후 TecoGAN/model에 압축 풀기
http://download.tensorflow.org/models/vgg_19_2016_08_28.tar.gz
http://ge.in.tum.de/download/2019-TecoGAN/FRVSR_Ours.zip

runGan.py에서 TrainingDataPath 경로를 -disk_path에서 설정한 경로(datasets)로 수정

데이터도 50/290개만 받았으므로 다음과 같이 str_dir, end_dir, end_dir_val값 수정
(주석 값이 원래 값)

오류 1 - module 'tensorflow.compat.v1' has no attribute 'contrib'
해결 1 – TecoGAN/lib/Teco.py의 tf.contrib.image.dense_image_warp를
모두 tfa.image.dense_image_warp로 바꾸어줌

오류 2 - module 'tensorflow.python.ops.summary_op_util' has no attribute 'skip_summary'
해결 2 – TecoGAN/lib/ops.py에서 from tensorflow.python.ops import summary_op_util를
from tensorflow.python.ops import summary_op_util
from tensorflow.python.distribute.summary_op_util import skip_summary로 바꾸어주고,
아래에 있는 코드 중 summary_op_util.skip_summary를 skip_summary로 바꾸어줌

오류 3 – 노트북 GPU(MX250)으로 모델 학습 시 batch_size를 1로 해도 OOM에러 발생
해결 3 – runGan.py에서 batch_size가 4(default)로 되어있는데 2로 수정 및
본체 GPU(RTX 3060ti 사용)

학습 종료조건이 되지 않았지만 너무 오래 걸릴 것 같아 8시간만 학습

학습결과 확인

Tensorboard –logdir ‘log 경로’ 실행



학습을 오래 시키지 않았음에도 불구하고 SR이 잘 된 모습을 확인할 수 있었다.

profile
Hello ~

1개의 댓글

comment-user-thumbnail
2022년 10월 1일

감사합니다~

답글 달기