작성
·
615
0
sess.graph.get_tensor_by_name('num_detections:0')에서 'num_detections:0'와 같은 name은 미리 확인한 후 필요에 따라 관련 value를 얻을 때 name을 사용하는 것 같은데 제가 텐서플로우 자체를 잘 모르다보니 어떻게 하는지를 모르겠네요.
name 정보들을 확인할 수 있는 함수나 방법들이 있으면 설명 부탁드립니다.
답변 5
0
sess.graph.get_operations()이 반환하는것은 계산그래프의 operation이 노드명 형태로 반환되는 것 + 해당 operation 수행 결과 tensor입니다. 즉 operation name: 0 과 같이 :0으로 표현되는 것이 해당 operation 수행 결과 tensor객체입니다.
감사합니다.
0
강사님 이 질문 답변을 보고 저도 어느정도 궁금증을 해결했습니다 감사합니다
그런데 노드명:operation을 넣어주신다고 하셨는데 operation에 0을 넣어주는건 어떤 의미인가요?
0
제가 그 정도로 머리가 좋진 않습니다 ^^
Pretrained 모델로 tensorflow inference 하는 코드를 opencv tensorflow github에서 가져와 변경한 것입니다
0
답변 감사합니다.
그렇다면, 강사님이 강의 중에 사용하신 get_tensor_by_name의 인자
-> node명:operation ('num_detection:0', 'detection_scores:0' , 'detection_boxes:0', 'detection_classses:0') 들도 get_operations()로 모든 노드를 확인한 후 필요한 위 정보들만 선택하신 건가요?
0
안녕하십니까,
tensorflow가 graph 형태로 Object Detection Deep learning 모델 layer를 node와 operation으로 만드는데 이게 꽤 깁니다.
원하시는게 모든 node, operation을 출력하기를 원하시는 거라면 아래와 같이 코드에 sess.graph.get_operations()으로 반환되는 값을 iteration으로 출력하시면 됩니다. get_tensor_by_name()에 인자로 들어가는 것은 node명:operation입니다.
sess.graph.as_default()
tf.import_graph_def(graph_def, name='')
for n in sess.graph.get_operations():
print("###:", n.name)
원하시는 답변이 아니면 다시 업데이트 부탁드립니다.
감사합니다.