Tensorflow中关于tf.metrics的返回值详解及其用法以及它和tf.losses的区别

标签:#tensorflow# 时间:2019/05/17 22:06:08 作者:小木

import tensorflow as tf
import numpy as np

pred_0 = np.zeros(5) + 1
pred_1 = np.zeros(5) + 2
pred_2 = np.zeros(5) + 3
pred_3 = np.zeros(5) + 4
pred_4 = np.zeros(5) + 5

label = np.asarray([0, 0, 0, 0, 0])
predictions = np.stack((pred_0, pred_1, pred_2, pred_3, pred_4))

print('____________predictions______________')
print(predictions)

print('____________labels______________')
print(label)

pred_placeholder = tf.placeholder(tf.float16, shape=label.shape)
label_placeholder = tf.placeholder(tf.float16, label.shape)
mae = tf.metrics.mean_absolute_error(label_placeholder, pred_placeholder)

init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())

with tf.Session() as sess:
    sess.run(init)
    for i in range(predictions.shape[0]):
        mae_value, update_op = sess.run(mae, feed_dict={label_placeholder: label, pred_placeholder: predictions[i]})
        print(f'{mae_value} {update_op} {np.mean(predictions[i] - label)}')
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送