caffe는 안쓴지 오래되었지만 caffemodel의 값을 확인 해야 할 일이 있어서 오랜만에 caffe쪽으로 눈을 돌렸다.
caffe 환경을 세팅하기는 너무 귀찮은데다 실제 쓸일도 없는데 caffemodel의 값만 확인하고 싶은 경우를 위해 기록
opencv에 dnn 모듈이 3.1 부터는 추가모듈로 지원됐고 3.3 버전부터는 기본 모듈로 포함되었다.
이 모듈을 이용하여 caffe환경설정 따로 할 필요 없이 네트워크 불러오고 inference 하는데 전혀 문제가 없었다.
보통 기본 모델 추론용도로만 사용했었으나 갑자기 caffemodel 에 포함되어 있는 weight의 값 확인이 필요할 경우에도
opencv 의 dnn 모듈을 이용하여 확인 할 수있다는 것을 확인하여 적어둠...
# python 기준..
# c++에서는 Layer::blob을 이용하는거 같던데
# 실제 코드로 확인하지는 않았다.
import cv2
# load caffemodel
net = cv2.dnn.readNetFromCaffe(prototxt, caffemodel)
# get layer name
layer_names = net.getLayerNames()
# get params
layer_params = net.getParam(layerName)
'전공관련 > Deep Learning' 카테고리의 다른 글
[ONNX] cuda 버전에 따른 python onnxruntime 버전을 맞추자. (0) | 2021.03.09 |
---|---|
[용어] Ablation Study (0) | 2021.02.25 |
[Pytorch] model load시 key가 있는 레이어만 불러오자 (0) | 2021.02.17 |
[ONNX] Onnx convert 모델을 검증하자 (2) | 2020.04.22 |
[Onnx] Onnxruntime - GPU를 사용하자 (8) | 2020.03.09 |