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())