텐서플로우 버전 오류 관련

Jaewon·2023년 8월 4일
0

우당탕탕

목록 보기
3/22

CNN-registration github

https://github.com/yzhq97/cnn-registration

프로젝트를 위해 anomaly detection 파트를 맡았다가 지금은 registration 파트에 붙게 돼서 위 모델을 돌리던 도중, 버전 관련 오류떄문에 고생했다.

맨날 pytorch만 쓰다가 오랜만에 tensorflow를 써서 익숙하지 않았는데, tensorflow에도 익숙해져야 할 필요성을 느꼈다

오류 해결 과정

위 페이지에서 CUDA버전이나 파이썬 버전을 참고해 빌딩해 오류를 방지해야 한다.
또, numpy 버전도 잘 맞춰줘야 하는데 이건 구글링하면서 해결하는 게 편할듯


tensorflow의 경우, tensorflow 2.0으로 넘어오면서 1.x 버전에서의 코드를 구동하기 번거롭게 되어있었는데,
import tensorflow as tf

대신

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

이렇게 하면 tensorflow 2.x버전이 깔려있더라도 1.x버전으로 작성된 코드를 돌릴 수 있었다. 그러나, 자잘한 오류들이 자꾸 생겨서 세부 코드를 보면서 변수를 몇 개 바꿔주는 등의 작업도 해줘야 했다.

AttributeError: module 'tensorflow' has no attribute 'variable_scope' 오류 관련

#예시
tf.variable_scope()

대신

tf.compat.v1.variable_scope(name)

를 써주는 식으로 바꿔줬다.

module 'numpy' has no attribute 'int' 오류 관련

이 오류가 numpy 버전 관련 문제였다.
https://stackoverflow.com/questions/74946845/attributeerror-module-numpy-has-no-attribute-int

1) numpy 버전을 1.20 이하로 맞추거나
2) numpy.int를 numpy.int_나 int로 고쳐줘야 함

NameError: name 'xrange' is not defined 오류 관련

우리 프로젝트는 python 3.10.x 버전에서 구동되는데, 내가 돌리는 모델의 코드는 python 2 버전 기반으로 짜여있어 생기는 오류였다.

  • xrange를 range로 바꿔주면 된다

  • github의 issue 창도 잘 확인하자!
profile
v ^_^ v

0개의 댓글