Tensorflow V2:在训练和验证期间获取目标和输出

时间:2019-10-09 19:37:00

标签: python tensorflow keras

每次使用TensorFlow V2和Keras 2.3.0时,我都需要从模型中收集目标和输出向量。 A similar question was previsously answered,但仅对TensorFlow V1有效。有人对如何进行有想法吗?

当我使用batch_size的1个文件(这对我的情况非常特定)时,我的最初想法是定义一个指标,该指标将返回目标/输出标签(即整数)并收集它在每个批次结束时的回调中。不幸的是,此度量标准与其他任何度量标准一样在每批处理之后进行处理。我无法找到一种方法来简单地返回非平均值,甚至更好地将其取入一维数组中。

1 个答案:

答案 0 :(得分:0)

获取输出张量的最简单方法是使用train/predict_on_batch()。例如:

    for epoch in range(max_epoch):

        for batch_i in range(max_batch):
            x_i, y_true = next(training_generator)
            batch_i = model.train_on_batch(x_i, y_true, reset_metrics=True)
            print("metrics = {}".format(batch_i))
            print("outputs = {}".format(model.predict_on_batch(x_i)))