텐서플로우 2.0 으로 업그레이드 후 1.6 버전에서 실행에 아무런 문제가 없던 코드를 실행한 결과 다음의 메시지가 출현했다. 예를 들면 tf.placeholder 가 유지보수가 중단(deprecated)되었으므로 tf.compat.v1.placeholder를 사용하라는 권고 메시지였다. 코드 별로 수정 작업이 빈번히 필요할 것이다.
이미 텐서플로우 2.x 버전으로 업그레이드 되었지만 구버전 TensorFlow 1.15.0 또는 그 이전 버전의 사용 필요성이 대두되곤 한다. 그럴 때에는 차라리 가상환경 설정 단계에서 예를 들자면 pip install tensorflow==1.15.0 명령을 사용하여 라이브러리를 성치하도록 한다.
그밖에 eager execution Runtime Error 에 대해서 알아보자. 이 에러를 방지하기 위해서는 헤더 영역의 import tensorflow as tf 바로 다음에 tf.executing_eagerly()를 넣어서 사용하자. 이 명령을 추가하게 되면 Graph 생 성 후에 Session 단계에서 Feed 와 함께 sess.run 단계에서만 출력이 가능하던 것이 굳이 Session 과 직접적인 관련성이 없다면 파이선 출력에서처럼 Graph 단계에서도 직접적인 출력이 가능해진다.
tf.compat.v1.disable_eager_execution() 명령을 넣어 억제 하는 경우도 있으나 이때에는 텐서플로우 코드 초반에 생성되는 Graph 구조를 억제하여 뭔가 상실 되는 정보가 있을 수 있으므로 가급적 피하도록 한다.
'머신러닝' 카테고리의 다른 글
1-4 Anaconda에서 TensorFlow 2.0 버전 보다 낮은 1.15.0 설치 요령 (0) | 2020.01.25 |
---|---|
1-3 Anaconda Navigator Environments에서 직접 TensorFlow 와 관련 라이브러리를 설치해 보자. (0) | 2020.01.24 |
1-1 윈도우즈 10 아나콘다3(64비트)에서 TensorFlow 2.x 업그레이드 설치 (0) | 2020.01.19 |
1-10 Moon Decision Boundary Classification: SVC vs TensorFlow Cubic (0) | 2020.01.13 |
1-9 Circle Decision Boundary Classification: SVC vs TensorFlow (0) | 2020.01.13 |