오늘은 netron 이라는 Tool를 드리려 합니다.
본 포스팅은 https://github.com/lutzroeder/netron 내용을 이용하여 작성하였습니다.
간단히 말씀드리면 Neural network viewer 입니다.
굉장히 많은 Framework들을 지원하고 있습니다.
.onnx
, .pb
, .pbtxt
).h5
, .keras
).mlmodel
).caffemodel
, .prototxt
)predict_net.pb
).cfg
).model
, -symbol.json
).nn
).param
).tmfile
).tnnproto
).uff
).tflite
)이 외에도 불안정하지만 다음과 같은 Framework 도 지원합니다.
.pt
, .pth
).pt
, .pth
).t7
).armnn
).bigdl
, .model
).npz
, .h5
).model
, .cntk
).zip
).pbtxt
).zip
).mnn
).zip
, __model__
).xml
).pkl
)model.json
, .pb
).pb
, .meta
, .pbtxt
, .ckpt
, .index
)(솔직히 Torch, TensorFlow 종류는 왜 나눠서 설명하는지 잘 모르겠음…..하나로 합쳐 놓으면 안되나..)
netron은 PC에 설치해서 사용하거나 설치없이 Browser 버전으로 사용할 수도 있습니다.
.dmg
file or run brew cask install netron
.AppImage
file or run snap install netron
.exe
installer or run winget install netron
pip install netron
and netron [FILE]
or import netron; netron.start('[FILE]')
한번 브라우저 버전을 실행시켜 보았습니다.
Open Model
을 클릭 하신 후 보고 싶은 Network 저장 파일을 선택합니다.
Network 구조가 차례로 보이네요.
다음은 keras로 작성된 MobileNetV2 를 netron으로 띄운 후 앞 부분을 잘라낸 사진입니다.
왼쪽에는 네트워크 구조를 볼 수 있고 만약 레이어를 선택하면 오른쪽에 Node(Layer)에 대한 세부 설정 값들을 확인할 수 있습니다.
몇몇 프레임워크 별로 sample을 이렇게 제공해줍니다!
open을 누르면 browser를 이용하여 볼 수 있네요!