이번 장은 텐서플로의 가벼운 설명과 실습 환경 구축을 다루는 내용으로 이루어져 있다. 섹션별로 한번 살펴 보겠다.
1.1 오픈소스 패키지
인공지능이 지상 최대의 화두가 되었음을 간단히 언급하며, 그의 일환으로 텐서플로가 공개되었음을 알려주는 내용이다. 저자께서 엔지니어이다 보니 기술적인 개괄도 곁들였은데, 요약해 보면 텐서플로는
그래프(graph)를 구성하고 그 그래프를 이용하여 수치 연산을 수행해주는 라이브러리
라고 볼 수 있다고 한다.
대쉬보드 프레임워크인 텐서보드(TensorBoard)에 대해서도 언급하였다.
※ 개인적으로 구글의 오픈소스 정책을 다소 부정적으로 본다. 기회가 된다면 그 이유를 풀어 보련다.
1.2 텐서플로 서빙
텐서플로 서빙(TensorFlow Serving)은 데브옵스(DevOps)같은 일종의 파이프라인이라고 보면 된다. 개념적으로는 데브옵스가 코딩부터 디플로이까지 원클릭으로 파이프라인에 태우는 것과 완전히 같다고 보면 되며, 프레임워크 입장에서는 젠킨스(Jenkins) 류와 맥락을 같이 한다고 보면 되겠다. 이 교재가 2016년 판인데 내가 당장 관심 갖는 부분은 아니라서 지금도 잘 지원되고 있는지는 모르겠다. 워낙 구글이 만들고 버리는 짓을 잘해서 말이지...
1.3 텐서플로 설치
실제 텐서플로 라이브러리를 설치하는 방법을 설명한 절이다. 파이썬으로 설치하는 방법을 알려주고 있으며, virtualenv를 기본 환경으로 하고 있는데, 나는 딱히 virtual 하게 쓸 일이 없기 때문에 무시하고, vscode + python3 + (global)TensorFlow 로 구축하였다. 교재에 나와 있는대로 하면 GPU 버전이 설치 되므로, 아래 포스트를 참고하시길.
궁극적으로는 C++ 텐서플로를 사용할 것이지만, 우선은 공부가 목적이므로 파이썬을 이용하겠다.
1.4 첫 텐서플로 코드
맛보기 코드가 있는 절이다. 2020년 현재에는 그대로 실행할 수는 없고, 아래처럼 compat 모드로 수정해서 실행을 해야 한다.
import tensorflow.compat.v1 as tf # compat 버전 import
tf.disable_eager_execution() # 즉시 실행 끄기
a = tf.placeholder("float")
b = tf.placeholder("float")
y = tf.multiply(a, b)
sess = tf.Session()
print(sess.run(y, feed_dict={a:3, b:3})) # python3 대응
이 코드는 3 * 3 곱셈을 텐서플로로 어렵게 수행해주는 간단한 샘플이지만 2020년 현재에는 이마저도 호환성 때문에 그대로 쓸 수가 없고, 새롭게 배워야 한다. 여기서 고민에 빠지게 되는데, v2를 익혀서 교재의 예제 코드를 직접 변화해볼지, v1 모드로 그대로 사용할지... 결론은 v1을 사용하기로 했다. 이 책을 배우는 목적이 딥러닝과 조금은 친숙해지기 위함이지 텐서플로 사용자가 되려는 건 아니기 때문이다.
뒤이어, 위 코드의 실행 과정과 몇몇 API들을 설명해주는 내용이 이어지는데 가볍게 읽고 넘어가거나 스킵하길 추천드린다.
1.5 디스플레이 패널 텐서보드
텐서 대쉬보드를 시작하는 방법을 설명하는 내용인데, 정말 시작(접속)하는 내용만 있어 이 섹션도 그냥 넘어가면 된다.
'Book Study > 텐서플로 첫걸음' 카테고리의 다른 글
2장 선형회귀분석 - 텐서플로 첫걸음 (0) | 2020.05.13 |
---|---|
0장 딥러닝에 대하여 - 텐서플로 첫걸음 (0) | 2020.04.27 |
'텐서플로 첫걸음' 교재로 첫걸음 떼기 (3) | 2020.02.13 |