본문 바로가기

카테고리 없음

Tensorflow 1.X 코드 2.X 로 변경하기

TF 2.x 버전으로 올라가면서 1.X에서 사용하던 코드들이 일부 제거되었다.

공식사이트에서 파이썬 코드를 변환해주는 스크립트를 제공해준다.

tensorflow 1.X를 굳이 2.X로 바꾸는 이유는 다른 이유도 있겠지만, 현재 사용 중인 GPU가 RTX3000대이거나 CUDA버전을 고정적으로 사용하고 싶을 때 이와 호환되는 tensorflow 2.X를 그대로 쓰려고 하기 때문일 듯 하다.

변환 관련된 내용은 아래 공식 사이트에서

https://www.tensorflow.org/guide/upgrade?hl=ko 

 

필자는 Python에 대한 경험이 많지 않기 때문에 아래 방식이 잘못된 방향일 수 있다. 어쨌건 에러가 발생 안 하도록 이것저것 바꿔본 것을 적어놓는다. 아직 이 코드가 잘 동작하는지 확인하지는 않았다.

참고만.


⊙ module 'tensorflow' has no attribute 관련된건...

    -> tf.~ 를 tf.compat.v1. 으로 변경하면 대부분 해결.

⊙ slim과 contrib 관련된건 tf-slim을 설치

          $ pip install tf-slim

⊙ flags 관련된건 absl 설치

          $ pip install absl-py


 지원하는 패키지를 import한 후에 사용하는 코드들 예시를 몇 개 적어놓는다.

 

tf.image.resize_bilinear

 tf.compat.v1.image.resize_bilinear

 

from tensorflow.contrib import slim as contrib_slim

import tf_slim as contrib_slim

 

from tensorflow.contrib import framework as contrib_framework
 import tf_slim as contrib_framework


from tensorflow.contrib import layers as contrib_layers
 import tf_slim.layers as contrib_layers

 

#from tensorflow.contrib.slim.nets import resnet_utils
 from tf_slim.nets import resnet_utils