728x90
Tensorflow는 현존하는 머신러닝 프레임워크 중 가장 유명한 프레임 워크이다.

필자가 딥러닝을 배우기시작하면서 선택한 프레임워크인데 생각보다 어렵지는 않다.


그러나 필자가 블로그에 포스팅 하는 부분들 중에서는 거의 해본적없는 분야이고

빨리 빨리 바뀌기에 이 포스터는 항상 맞을수 없다고 볼 수 있다.

그러기 때문에 읽는 입장에서 그 부분을 고려해서 읽길 바란다.


이 포스터는 Python3.6으로 Tensorflow1.2로 테스팅 했으며 작업환경은 PyCharm이며 특별한 경우가 아니면 쉘에서 실행하지 않음.


저번 시간 매우간단한 예제를 만들었다.
이번에 만든건 정말 간단하기 때문에 생각하는데 무리는 없다.
그러나 조금만 규모가 커진다고 생각해보자.
노드가 계속 추가되고 스코프(아직 배운 개념은 아니지만)가 늘어날수록 이를 머리속으로 생각하는건 좀 힘들다.
따라서 그럴 볼수 있는 툴이 있으면 좋을 것이며 정말 다행스럽게도 그 툴은 텐서플로우를 인스톨하면 자동으로 따라온다.
그 툴의 이름은 텐서보드이며 이번 시간에 텐서보드를 하는 방법에 대하여 알아보자.


import tensorflow as tf

a = tf.constant(5,name='input_a')
b = tf.constant(7,name='input_b')

c = tf.multiply(a,b,name='mul_c')
d = tf.add(a,b,name='add_d')
e = tf.add(c,d,name='add_e')

sess = tf.Session()
print(sess.run(e))


 예제는 저번시간에 사용했던 코드를 그대로 추가만 할 것이다.

텐서 보드


저번에 사용가능한 함수들을 자세히보면 알 수 있는 부분이 있는데 사실 모든 노드에 이름을 안 붙혀도 된다.

이름은 그냥 실행하는단계에서는 큰의미는 없을 수 있지만 텐서보드를 사용한다면 이름을 붙히는게 매우 큰 의미를 가진다.

그래서 이름을 붙혀준 것이다.

이제 텐서 보드를 사용할 준비 단계 부터 해보자.


이제 마지막에 한줄을 추가해주자.


wirter = tf.summary.FileWriter('./mygraph',sess.graph)


이 한줄은 현재 그래프의 정보를 텐서 보드에 출력하는 예제이다.

참고로 교재에서는 위가 아니라 아래와 같이 되어있다.


wirter = tf.train.SummaryWriter('./mygraph',sess.graph)


바로 위의 코드는 deprecated되어 있으므로 사용하면 안된다.

정확히 말하면 사용 되지도않지만.


실행방법은 터미널에서 해야한다.



일단 출력한 파일의 경로로 가서 아래와 같이 타이핑 한다.


$tensorboard --logdir="파일 이름"


그러면 6006포트가 활성화가 되는데 localhost:6006을 확인하자.





그러면 위와같이 뜨는데 일단 잘못된건 아니니까 걱정하지마라.

지금 선택된 탭은 scalars이기 때문이다. 왜냐하면 아직 스칼라값을 출력한게 없기 때문이다.

우리는 graph를 선택해준다.





그러면 우리가 만든 그래프를 바로 도식화해서 볼 수 있다.

맞는지 확인해보자.





각각의 노드를 클릭해서 보면 각 노드의 정보를 볼 수 있다.



+ Recent posts