본문 바로가기
Study 공부할레나

[스터디/밑시딥3] 제 3고지 고차미분계산_25. 계산 그래프 시각화(1)

by LENA-cfg 2023. 9. 3.

이번 단계는 계산 그래프를 시각화 하는데 왜 계산 그래프를 시각화하냐면 문제가 발생했을 때 원인이 되는 부분을 파악하기 쉽기 때문입니다. 또한 더 나은 계산법을 발견하거나 신경망 구조를 3자에게 시각적으로 전달하는 용도로 활용할 수 있습니다.

 

25.1 Graphviz 설치하기

Graphviz는 그래프를 시각화 해주는 도구입니다.

책에서는 mac os, 우분투에서 설치 방법을 알려줬습니다.

 

터미널 창에 아래 명령어를 실행합니다.

brew install graphviz

dot - V 

 

윈도우에서 설치하는 방법은 아래에 있습니다.

https://graphviz.org/download/

 

Download

Graph Visualization Software

graphviz.org

다운로드 페이지에 들어가 원하는 버전을 선택 후 다운로드 합니다.

다운로드 할때 환경변수 추가하는지 여부를 묻는데 저는 체크하고 다운로드 했습니다.

 

다음 명령어를 파워쉘에서 실행합니다.

conda install python-graphviz

dot -V 명령어를 통해 버전을 확인합니다.

다운로드가 잘 되었습니다. 

 

25.2 DOT 언어로 그래프 작성하기 

선호하는 편집기를 열어 아래의 텍스트를 입력하고 sample.dot으로 저장합니다.

 

digrapth g{
x
y
}

 

저는 메모장에 만들었습니다.

파워쉘에 아래 명령어를 실행합니다.

sample.dot.txt -T png -o sample.png

sample.dot 파일이 텍스트로 만들어졌긴했는데 그래도 sample.png가 잘 나왔습니다.

25.3 노드에 속성 지정하기 

노드에 '색'과 '모양'을 지정할 수 있습니다.

sample.dot 파일을 수정해줍니다.

각 줄마다 노드 하나의 정보가 담깁니다. 각 줄마마다 1, 2의 숫자로 시작하고 있는데 이는 노드의 ID입니다.

해당 ID에 노드에 부여할 속성을 대괄호 안에 적어줍니다. 

* 노드 ID는 0이상의 정수이며, 다른 노드와 중복되지 않습니다.

 

아래의 명령어를 다시 실행합니다.

sample.dot.txt -T png -o sample.png

오랜지 색의 노드 2개가 렌더링 되었습니다. 

 

하늘색 노드를 추가하기위해 메모장을 아래처럼 수정했습니다.

digraph g{
1 [label="x", color=orange, style=filled]
2 [label="y", color=orange, style=filled]
3 [label="Exp", color=lightblue, style=filled, shape=box]
}

이렇게 노드에 색상과 모양을 정하여 Dezero의 변수와 함수를 그릴 수 있게 되었습니다.

 

25.4 노드 연결하기

노드를 연결하려면 두 노드의 ID를 '->'로 연결하면 됩니다.

 

digraph g{
1 [label="x", color=orange, style=filled]
2 [label="y", color=orange, style=filled]
3 [label="Exp", color=lightblue, style=filled, shape=box]
1 -> 3
3 -> 2
}