TensorFlow2.0 范数/最大值/最小值/准确度统计
import tensorflow as tf
import numpy as np
print(tf.__version__)
计算范数
# tf.norm 2范数
a = tf.ones([2, 2])
print(tf.norm(a))
a = tf.ones([4, 28, 28, 3])
print(tf.norm(a))
# tf.norm 1 范数
a = tf.ones([2, 2])
# 2范数 维度1
print(tf.norm(a, axis=1))
# 1范数 绝对值 相加
print(tf.norm(a, ord=1))
# 1范数 维度1
print(tf.norm(a, ord=1, axis=1))
print(tf.norm(a, ord=1, axis=0))
计算最大值 最小值
# 统计最大值 最小值 平均值
a = tf.random.normal([4,10])
# tf.reduce_min 最小值
print(tf.reduce_min(a))
# tf.reduce_max 最大值
print(tf.reduce_max(a))
# tf.reduce_mean 均值
print(tf.reduce_mean(a))
# tf.reduce_min 每一行的最小值
print(tf.reduce_min(a, axis=1))
# tf.reduce_max 每一行的最大值
print(tf.reduce_max(a, axis=1))
# tf.reduce_mean 每一行的均值
print(tf.reduce_mean(a, axis=1))
# 获取最大值 最小值的索引
print(tf.argmax(a).shape)
print(tf.argmax(a))
print(tf.argmin(a).shape)
print(tf.argmin(a))
计算准确度统计
# 准确度统计
# 模拟预测值
a = tf.random.normal([100, 5])
pred = tf.cast(tf.argmax(a, axis=1),dtype=tf.int32)
print(pred)
# 模拟标签值
y = tf.random.uniform([100], minval=0, maxval=5, dtype=tf.int32)
print(y)
# 布尔值
res = tf.equal(pred, y)
correct = tf.reduce_sum(tf.cast(res, dtype=tf.int32))
print("正确率: ", (correct / len(y)).numpy())
# 去重
a = tf.constant([4, 2, 4, 2, 3])
y, idx = tf.unique(a)
print(y.numpy())
print(idx.numpy())