글 작성자: 만렙개발자

TensorFlow 2.0 is here!

텐서플로우 2.0이 나온 것이 매우 요즘 핫하다고 생각합니다 :)

 

다들 코드 마이그레이션이 걱정되실 것 같은데요! 이 글에서는 텐서플로우 2.0 환경에서 1.x 코드를 실행시키는 방법1.x 코드를 2.0 코드로 업그레이드 하는 방법에 대해 소개해드리고자 합니다.

 

1. 텐서플로우 2.0 환경에서 1.x 코드 실행하기

 

코드 변환에 아직 어려움이 있으신 분이 있다면, 아래와 같은 방법으로 여전히 1.x 버전의 코드를 실행할 수 있습니다.

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

간단하죠? 하지만, 2.0의 장점을 사용할 수 는 없습니다.

 

2. 텐서플로우 1.x 코드를 2.0 코드로 업그레이드하기

 

2.0으로 바꾸시려면 업그레이드 스크립트를 사용하고, 자동변환되지 않는 부분에 대해서 직접 수정을 거쳐야합니다.

 

혹은, 차근 차근 직접 바꿔나가는 방법도 있습니다. (이게 더 안정적임) 이것은 다음의 링크(준비중)를 확인해주세요.

 

먼저, 업그레이드 스크립트는 다음과 같습니다.

 

(tf_upgrade_v2를 난 설치한적이 없는데?! 라고 걱정하시는 분들이 계실 수도 있습니다. Tensorflow 1.13 이상의 버전을 갖고 계시다면, 자동으로 설치가 되어있습니다! 현재 2.0 코드로 변환중이실 테니, 2.0 환경이 설치되어있으실 것으로 생각됩니다. 그러한 경우에는 설치가 되어있으니 걱정 안하셔도 됩니다! )

1. 단일 파일에 대한 업데이트

tf_upgrade_v2 --infile tensorfoo.py --outfile tensorfoo-upgraded.py

2. 디렉토리 트리(폴더)에 대한 업데이트

tf_upgrade_v2 --intree coolcode --outtree coolcode-upgraded

업그레이드 하는 도중, 변환할 수 없는 코드에 대해서는 에러를 뿜어냅니다!

 

주의하실 점은, 먼저 코드를 직접 변환하다가 업그레이드 스크립트를 쓰면 안됩니다.

파라미터의 순서가 변동된 함수는 스크립트가 혼동할 수 있기 때문입니다!

 

모든 부분이 변환되지 않을 수 있습니다. 스크립트에 포함되지 않은 패턴들에 대한 것이겠죠,

그러한 경우 직접 수정을 거쳐야하는데 이것은 이 링크(준비중)을 참조하세요!

3. ipynb 파일을 위한 텐서플로우 코드 마이그레이션

python 파일보다 ipynb를 많이 쓰시는 분도 계시겠죠? 이것을 위한 변환 코드도 있습니다.

tf2up.ml 이라는 것인데요, 아래의 링크에서 확인하실 수 있습니다!

 

http://tf2up.ml/

 

tf2up.ml - TensorFlow 2.0 upgrader service, even easier upgrade to TensorFlow 2.0

Idea is to make upgrade process to TensorFlow 2.0 of your Jupyter notebooks even easier! Just replace URL from Github to tf2up.ml or use bookmarklet to see the diff of upgrade

tf2up.ml