2015-11-27 18 views
8

tôi muốn điều tra vị trí thiết bị trong tensorboard sử dụng đoạn mã sau để tạo ra các đồ thị trong phần tóm tắtDevice trong Tensorboard

# Build the summary operation based on the TF collection of Summaries. 
summary_op = tf.merge_all_summaries() 
saver = tf.train.Saver(tf.all_variables()) 
summary_writer = tf.train.SummaryWriter(log_directory, graph_def=sess.graph_def) 

này hoạt động để hiển thị biểu đồ và bản tóm tắt được định nghĩa trong đồ thị. Nhưng khi chọn 'vị trí thiết bị' trong bảng dẫn, tất cả các nút được gán cho 'thiết bị không xác định'. Tôi có cần phải đổ vị trí thiết bị theo cách khác không?

Trả lời

10

Trình hiển thị đồ thị TensorBoard chỉ thấy các bài tập thiết bị rõ ràng mà bạn đã thực hiện trong chương trình của mình (tức là các bài tập được thực hiện bằng cách sử dụng khối with tf.Device("..."):).

Lý do cho điều này là các nút trong đồ thị TensorFlow được gán cho các thiết bị trong nhiều giai đoạn. Giai đoạn đầu tiên, trong ứng dụng khách (ví dụ: chương trình Python) cho phép bạn rõ ràng — và tùy chọn — gán các thiết bị cho mỗi nút, và nó là đầu ra của giai đoạn này được ghi vào các bản ghi TensorBoard. Một giai đoạn vị trí sau đó chạy bên trong phần phụ trợ TensorFlow và gán mỗi nút cho một thiết bị.

Tôi nghi ngờ bạn muốn phân tích kết quả của giai đoạn vị trí sau này. Hiện nay không có hỗ trợ cho điều này trong TensorBoard, nhưng bạn có thể trích xuất một số thông tin bằng cách tạo ra các tf.Session như sau:

sess = tf.Session(config=tf.ConfigProto(
    log_device_placement=True)) 

... và sau đó quyết định vị trí thiết bị sẽ được đăng nhập để stderr.

+0

Tôi hiểu, đó là những gì tôi đang sử dụng ngay bây giờ. Quá tệ nó chưa được triển khai! – panmari

Các vấn đề liên quan