이번 단계는 계산 그래프를 시각화 하는데 왜 계산 그래프를 시각화하냐면 문제가 발생했을 때 원인이 되는 부분을 파악하기 쉽기 때문입니다. 또한 더 나은 계산법을 발견하거나 신경망 구조를 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
}

'Study 공부할레나' 카테고리의 다른 글
| [스터디/밑시딥3] 제 3고지 고차미분계산_27. 테일러 급수 미분 (0) | 2023.09.06 |
|---|---|
| [스터디/밑시딥3] 제 3고지 고차미분계산_26. 계산 그래프 시각화(2) (0) | 2023.09.03 |
| [스터디/밑시딥3] 제 2고지 자연스러운 코드로_24. 복잡한 함수의 미분 (0) | 2023.08.30 |
| [스터디/밑시딥3] 제 2고지 자연스러운 코드로_23. 패키지로 정리 (0) | 2023.08.30 |
| [스터디/밑시딥3] 제 2고지 자연스러운 코드로_22. 연산자 오버로드(3) (0) | 2023.08.28 |