저는 사전 훈련 된 CNN 모델을 .pb 파일로 가지고 있습니다. 모델을로드하고 모든 이미지의 마지막 레이어에서 최종 벡터를 추출 할 수 있습니다. 이제 특정 레이어에서 오는 벡터를 추출하고 이미지의 최종본은 추출하지 않습니다. import_graph_def 함수를 사용하여 모델을로드하고 .pb 파일이 크고 열 수 없기 때문에 레이어 이름을 알 수 없습니다.Tensorflow : 미리 훈련 된 CNN의 특정 레이어에서 이미지 피쳐를 추출하려면 어떻게해야합니까?
내가 원하는 레이어까지 벡터를 얻기 위해 모델의 한 부분 만 실행하고 전체를 실행할 수 없습니까?
시도해 볼 수있는 한 가지 방법은 tf.Graph.get_operations()를 사용하여 그래프의 노드 (작업) 목록을 가져 오는 것입니다. 그런 다음 노드 이름을 인쇄하고 원하는 노드 이름을 검색 할 수 있습니다. –
대단히 감사합니다! 필자는 필요한 텐서를 반환하는 import_graph_def 함수를 사용하고 있습니다. 그 텐서를 인쇄하면 Tensor ("pool_3/_reshape : 0", shape = (1, 2048), dtype = float32)를 얻습니다. 이제 저는 "pool_3 : 0"과 shape = (1, 8, 8, 2048)이라는 이름으로 bottleneck_tensor를 얻고 싶습니다. 어떻게 텐서를 돌려 주어야합니까? – chrisrn
스티븐 덕분에 문제가 해결되었습니다. – chrisrn