일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- blindsqlinjection
- labelImg
- 인공지능
- Deep_Learning
- 딥러닝
- 머신러닝
- digitalforensic
- relu
- suninatas
- tensorflow
- 텐서플로우
- 모두의딥러닝
- HiddenLayer
- 모두의 딥러닝
- Learning_Rate
- TestDataSet
- ai
- NeuralNet
- neuralnetwork
- Model Ensemble
- TrainingDataSet
- forensic
- sql_injection
- DataSet
- Softmax Classification
- LogisticRegression
- DeepLearning개념
- Neural Net
- FC layer
- Artificial Intelligence
- Today
- Total
InformationSecurity-Study
[모두의 딥러닝] Tensor Board로 딥 네트워크 들여다보기 LAB02 본문
지난 실습에서 Neural Net을 이용하여 XOR문제를 해결해보았다.
학습을 많이 할 때 진행상황을 한 눈에 볼 수 있게 하는 것이 TensorBoard이다.
이전의 방법은 많은 숫자를 화면에 출력함으로써 값의 변화들을 보았는데, 숫자가 많으니 복잡한 경향이 있다.
Tensorboard는 Step에 따라 Loss의 변화를 한 눈에 보여준다. 이를 사용하기 위한 5단계의 Step이 있다.
Step 1: From TF graph, decide which tensors you want to log
우선 TensorFlow로부터, 어떤 것을 Logging할 것인지 정하는 게 우선이다.
Step 2/3: Merge summaries and create writer After creating session
어떤 것을 Logging할 것인지 정하고 일일이 쓰지 않고 한번에 쓰기 위해서 merge병합한다.
그런 다음에 세션에 들어가서 어디에 summary를 기록할 지 파일의 위치를 정하고 세션의 그래프를 넣어준다.
그 후 이 summary 자체도 sess.run에 넣어주고 이를 실행시켜서 나오는 s를 summary에 추가해준다.
TensorBoard 실행시킬 때, 이 Summary가 저장되어 있는 Logging파일로 지정해주면 된다.
Histogram은 여러 개의 값이니까 Step이 될 것이고 weight 값의 분포를 보여준다.
그래프로 보고싶을 때 그래프를 한꺼번에 펼쳐놓으면 가시성이 떨어지기에 name_scope()함수로 계층별로
정렬이 가능하다. Layer1과 Layer2를 구분하여 볼 수 있는 장점이 있다.
summary를 실행시켜서 가져온 값인 S를 writer.add_summary에 넣어주면 된다.
학습시키면서 변화하는 0~n까지의 step값을 넣어서 이에 따라 그래프가 생성된다.
Step 5: Launch tensorboard (local/remote server)
마지막으로 저장된 logging 파일을 Tensor Board로 실행시키면 끝이다!
Using Options!: Multiple runs
같은 형태의 모델을 돌리지만 다른 옵션을 적용하고 싶을 때 사용하면 된다.
ex) Learning_rate을 달리하고 싶을 때, 두 개의 learning rate에 따른 학습 형태를 비교해볼 수 있다.
LAB이라고 하긴 어렵지만 정리를 해보았다.
Tensorboard를 사용하면 눈으로 확인할 수 있다는 점에서 강점을 가지고 있다.
일반적으로 Jupyter나 Spyder를 이용해서 소스코드를 실행하면 입력에 따른 출력값만 보여주기에
잘 실행되고 있는 지 과정과정들을 확인하기 어려운데, 이 때 Tensorboard를 사용하면 좋을 것 같다.
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] 딥러닝을 잘하는 방법: 초기값 설정! (0) | 2019.05.04 |
---|---|
[모두의 딥러닝] Sigmoid 보다 ReLU가 더 좋다 (ReLU가 뭐길래??) (0) | 2019.05.04 |
[모두의 딥러닝] XOR을 위한 텐서플로우 딥 네트워크 LAB01 (0) | 2019.05.02 |
[모두의 딥러닝] XOR 문제 딥러닝으로 풀기 Neural Nets for XOR (0) | 2019.04.10 |
[모두의 딥러닝] Deep Neural Nets for Everyone (0) | 2019.04.06 |