2016-06-21 10 views
6

Zgodnie z tytułem. Chciałbym skorzystać z takiej operacji, aby zmienić nazwę węzłów i lepiej zorganizować wykres. A może jest inna zalecana praktyka zmiany nazwy istniejącego węzła na wykresie? Dzięki!Czy w tensorflow jest operacja no-op (pass-through)?

+2

ze względu na kompletność, istnieje 'tf.no_op' https://www.tensorflow.org/versions/master/api_docs/python/control_flow_ops.html#no_op, ale myślę, że chcesz przejść przez operację podobną do' tf.identity' – Falcon

+0

po kilku eksploracjach znalazłem, używając 'kolekcji', które są znacznie bardziej przydatne niż zmiana nazwy. sprawdź przykłady tutaj: https://www.tensorflow.org/versions/r0.9/how_tos/meta_graph/index.html – Falcon

Odpowiedz

4

O ile mi wiadomo, nie można zmienić nazwy tensora, gdy został utworzony.

Można jednak użyć dodatkowych "no-OP" operacji (jak powiedziałeś):

  • dla tf.Tensor: tf.identity(input_tensor, name='your_new_name')

  • dla operacji: tf.group(input_operation, name='your_new_name')


Po tym można zadzwonić pod numer input_tensor z:

graph = tf.get_default_graph() 
graph.get_tensor_by_name('your_new_name:0') 

Lub input_operation z:

graph = tf.get_default_graph() 
graph.get_operation_by_name('your_new_name') 
9

Jest tf.no_op który pozwala na dodanie operację, która nic nie robi.

Powiązane problemy