2017-03-10 33 views
7

Tôi đã đọc các hướng dẫn trên tensorflow nơi họ đã viếtTại sao chúng ta sử dụng tf.name_scope()

with tf.name_scope('read_inputs') as scope: 
      <insert code here> 

tôi nghi ngờ là tại sao chúng ta sử dụng name_scope?

1) a = tf.constant(5) 
    2) with tf.name_scope('s1') as scope: 
      a = tf.constant(5) 

Cả 2) và 2) đều giống nhau. Vì vậy, khi nào sử dụng name_scope tạo ra một sự khác biệt?

Trả lời

6

Chúng không giống nhau.

import tensorflow as tf 
c1 = tf.constant(42) 
with tf.name_scope('s1'): 
    c2 = tf.constant(42) 
print(c1.name) 
print(c2.name) 

in

Const:0 
s1/Const:0 

Vì vậy, như tên cho thấy, các chức năng phạm vi tạo ra một phạm vi cho tên của ops bạn tạo bên trong. Điều này có ảnh hưởng đến cách bạn tham khảo tensors, về tái sử dụng, về cách đồ thị hiển thị trong TensorBoard và vân vân.

+2

Cảm ơn bạn đã trả lời. Bạn có thể vui lòng cho tôi biết cách sử dụng lại c1 và c2 không? –

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