본문 바로가기
파이썬

파이썬 Keras 모델에서 tensorflow 출력 노드의 이름을 어떻게 얻습니까?

by º기록 2020. 10. 28.
반응형

Keras (tensorflow 백엔드) 모델에서 pb 파일을 생성하여 iOS에서 빌드 할 수 있도록하려고합니다. freeze.py를 사용하고 있으며 출력 노드를 전달해야합니다. Keras 모델의 출력 노드 이름을 어떻게 얻습니까?


 

해결 방법

 

Keras model.summary ()를 사용하여 마지막 레이어의 이름을 가져올 수 있습니다.

model.outputs가 비어 있지 않으면 다음을 통해 노드 이름을 얻을 수 있습니다.

[node.op.name for node in model.outputs]

당신은 통해 세션을 얻습니다

session = keras.backend.get_session()

모든 훈련 변수를 다음을 통해 const로 변환합니다.

min_graph = convert_variables_to_constants(session, session.graph_def, [node.op.name for node in model.outputs])

그 후 다음을 통해 protobuf-file을 작성할 수 있습니다.

tensorflow.train.write_graph(min_graph, "/logdir/", "file.pb", as_text=True)

 

참조 페이지 https://stackoverflow.com/questions/40028175

 

 

반응형

댓글