Lors de l'utilisation de tf.print (), le contenu du tenseur ne peut pas être affiché s'il se trouve dans une f-string.

Aperçu

Comme le dit le titre. Il est préférable de ne pas utiliser f-string dans tf.print ().

En fait, exécutons le code suivant et comparons la sortie.

import numpy as np
import tensorflow as tf

@tf.function
def add_a_b(a, b):
    c = tf.add(a, b)
    print("(1):", c)
    tf.print("(2):", f"{c}")
    tf.print("(3):", c)
    return c

a = tf.constant(np.asarray([[1, 2], [3, 4]]), dtype=tf.float32)
b = tf.constant(np.asarray([[4, 3], [2, 1]]), dtype=tf.float32)

c = add_a_b(a, b)

La sortie ressemble à ceci. Vous pouvez voir que (2) est «f-string» mais ne bénéficie pas de «tf.print ()».

(1): Tensor("Add:0", shape=(2, 2), dtype=float32)
(2): Tensor("Add:0", shape=(2, 2), dtype=float32)
(3): [[5 5]
 [5 5]]

Recommended Posts

Lors de l'utilisation de tf.print (), le contenu du tenseur ne peut pas être affiché s'il se trouve dans une f-string.
Solution lorsque l'image ne peut pas être affichée avec tkinter [python]
S'il n'est pas facile à comprendre, il ne peut pas être amélioré.
L'histoire de l'utilisation de mysqlclient car PyMySQL ne peut pas être utilisé avec Django 2.2
Il semble que la version de pyflakes ne soit pas la dernière lorsque flake8 est installé
Mesures à prendre lorsque "Impossible d'ouvrir l'affichage" s'affiche dans X11 Forward
Lors de l'augmentation de la mémoire disponible du nœud, elle peut être limitée par vm.max_map_count
Que faire si (base) est affiché au début du terminal Mac
[Solution] Lorsque "0001" est inséré dans la colonne de chaîne de sqlite3, il est entré comme "1".
[Python Data Frame] Lorsque la valeur est vide, remplissez-la avec la valeur d'une autre colonne.
[Malédiction dimensionnelle] Si le nombre de capteurs est changé en ∞, une anomalie peut-elle être détectée?
[Est-ce explosif!?] Configuration pour utiliser la version GPU de Tensorflow sous OSX
Que faire si la barre de progression n'est pas affichée dans tqdm de python