В TensorFlow, для чего используется tf.identity?

Я видел tf.identity используемый в нескольких местах, таких как официальное учебное руководство CIFAR-10 и реализация пакетной нормализации на stackoverflow, но я не вижу, почему это необходимо.

Для чего это используется? Кто-либо может дать вариант использования или два?

Один предложенный ответ - то, что это может использоваться для передачи между ЦП и GPU. Это не ясно мне. Расширение вопроса, на основе этого: loss = tower_loss(scope) находится под блоком GPU, который намекает мне, что все операторы определили в tower_loss отображаются на GPU. Затем в конце tower_loss, мы видим total_loss = tf.identity(total_loss) прежде чем это будет возвращено. Почему? Каков был бы дефект с не использованием tf.identity здесь?

61
задан 12 January 2019 в 07:11

1 ответ

Я вижу, что этот вид взлома для проверки утверждает:

assertion = tf.assert_equal(tf.shape(image)[-1], 3, message="image must have 3 color channels")
with tf.control_dependencies([assertion]):
    image = tf.identity(image)

Также это раньше только давало имя:

image = tf.identity(image, name='my_image')
0
ответ дан 31 October 2019 в 15:45

Другие вопросы по тегам:

Похожие вопросы: