2017-12-27 35 views
0

에 지금까지 내가 크롬 Trace Event Profiling Toolchrome://tracing으로 표시 차선의 수는 항상 timeline.json 같은로드 파일에 정의 process_name의 수가 일치하는 것으로 가정 한 process_names보다 차선을 표시 추적. 이는 TensorFlow에 기록되고 timeline.generate_chrome_trace_format()으로 파일로 내 보낸 타임 라인 용입니다. 도구 표시하는 반면크롬 : // timeline.json

{ 
    "name": "process_name", 
    "args": { "name": "Allocators" }, 
    "ph": "M", "pid": 0 
}, 
{ 
    "name": "process_name", 
    "args": { "name": "/job:localhost/replica:0/task:0/device:CPU:0 Compute" }, 
    "ph": "M", "pid": 1 
}, 
{ 
    "name": "process_name", 
    "args": { "name": "/job:localhost/replica:0/task:0/device:CPU:0 Tensors" }, 
    "ph": "M", "pid": 2 
}, 

같은 4 차선 :

enter image description here

그리고 파일의 단일 작업

는 지금 timeline.json 3 개 process_name이 같은의를 포함하는 상황에 직면 레인 3의 softmax_cross_entropy_with_logits/Reshape_1"pid": 3을 나타내지 않고 "pid": 1을 참조한다.

이 불일치는 기능입니까 (예 : 오해입니까) 또는 버그입니까?

답변

0

기본적으로 차선 수는 실행 중에 발생한 최고 수준의 병렬 처리입니다. 일반적으로 커널 실행에 사용되는 수십 개의 스레드 (Eigen 라이브러리의 기본값 사용)가 있습니다. 그들 모두를 (완전히 비어있는) 많이 표시하는 대신, tensorflow는 노드 실행을 가능한 한 적은 수의 레인으로 압축합니다. 여기에는 function이 있습니다.

또한 은 가짜 인 see 일 수 있습니다.