Tensorflow 2:获取张量值

Tensorflow 2: Getting Tensor Value

我正在切换到 TF2,我只是按照这个 tutorial, 其中,train 和 step 函数现在定义为“@tf.function”。

如何打印张量 y_pred 和损失的值?

@tf.function
def train_step(images, labels):
  with tf.GradientTape() as tape:
    predictions = model(images)
    loss = loss_object(labels, predictions)

    print("train preds: ", y_pred)
    print("train loss: ", loss)

  gradients = tape.gradient(loss, model.trainable_variables)
  optimizer.apply_gradients(zip(gradients, model.trainable_variables))

  train_loss(loss)
  train_accuracy(labels, predictions)

print 在 Python 世界中执行(而不是在图形中),因此它只会在 tf.function 跟踪您的函数以构建图形时打印一次张量。如果要打印 in-graph,请使用 tf.print.