2017-01-31 6 views
2

사용자 지정 작업으로 작업을 래핑하려고합니다.
대상 작업 (A in picture)의 입력을 해결했지만 출력을 래핑하지 못했습니다.Tensorflow 그래프 편집기가 복잡한 네트워크를 재 라우팅

초기화 네트워크 작업은 다음과 같습니다.

그리고 모든 연산에 1 출력 텐서가 있다고 가정합니다. 내가 운전 'E'나는 graph editor(API r0.12)으로 노력하고 있습니다

C D 
/\/
B E 
    | 
    A 

를 추가 할
내 전략 그 (C, D)을 AE 및 분리 (C, D) -A를 연결하고 연결 -E

했다
  1. ge.connect ([E], [C, D]) - 연산 C가 ge.swap_inputs 2 회 2 입력
  2. 사용 때문에 실패 - 실패를, I는 E 및 D를 부착 할 수 있지만, 여전히 CA 연결 해제 및 CE 연결 문제

어떻게 변경합니까?
감사합니다.

답변

3

두 하위 그래프의 서명이 일치하는지 확인하려면 일부 보조 그래프 remapping을 사용해야합니다. 이렇게하려면 하위 그래프를 인쇄하는 것이 좋습니다.

tf.reset_default_graph() 

a = tf.placeholder(dtype=tf.float32, name="a") 
b = tf.placeholder(dtype=tf.float32, name="b") 
c = tf.add(a, b, name="c") 
d = tf.identity(a, name="d") 

e = tf.identity(a, name="e") 
print(ge.sgv(e.op)) 
print(ge.sgv(c.op, d.op).remap_inputs([0])) 
ge.connect(ge.sgv(e.op), ge.sgv(c.op, d.op).remap_inputs([0])) 

출력 : 작동

SubGraphView (graphid=241109520): 
** ops[1]: 
    e 
** inputs[1]: 
    a:0 
** outputs[1]: 
    e:0 

SubGraphView (graphid=241109520): 
** ops[2]: 
    c 
    d 
** inputs[1]: 
    a:0 
** outputs[2]: 
    c:0 
    d:0 
+0

감사합니다! –

관련 문제