Проблема с tf.print для тензора (невозможно вывести отдельные значения) - PullRequest
0 голосов
/ 13 марта 2020

здесь есть мой код: https://github.com/Franco7Scala/RestrictedAreaImageAdversarialAttack/tree/master/src Вы должны увидеть test_attack.py и l2_attack.py.

Теперь мы можем go к проблеме, в этом месте l2_attack -py:

        mask = tf.ones((batch_size, image_size, image_size, num_channels), tf.float32)
        # Get input shapes
        modifier_shape = tf.shape(modifier)
        mask_shape = tf.shape(mask)
        # Make indices grid
        oo, ii, jj, kk = tf.meshgrid(tf.range(modifier_shape[0]), tf.range(modifier_shape[1]), tf.range(modifier_shape[2]), tf.range(modifier_shape[3]), indexing='ij')
        # Shift indices
        ii += y_window
        jj += x_window
        # Scatter update
        mask_to_apply = tf.tensor_scatter_nd_update(mask, tf.stack([oo, ii, jj, kk], axis=-1), modifier)
        tf.print(mask_to_apply)

когда я делаю tf.print(mask_to_apply) У меня есть такой вывод: Tensor("TensorScatterUpdate:0", shape=(9, 28, 28, 1), dtype=float32), а не значения внутри тензора, Как я могу напечатать эти значения?

...