TensorFlow中用于评估模型在训练集和测试集上的准确度的几个常用函数说明

1. tf.argmax() | tf.argmin()

tf.argmax(input=tensor,dimention=axis)
找到给定的张量tensor中在指定轴axis上的最大值/最小值的位置。

a=tf.get_variable(name='a',
                  shape=[3,4],
                  dtype=tf.float32,
                  initializer=tf.random_uniform_initializer(minval=-1,maxval=1))
b=tf.argmax(input=a,dimension=0)
c=tf.argmax(input=a,dimension=1)
sess = tf.InteractiveSession()
sess.run(tf.global_variables_initializer())
print(sess.run(a))
#[[ 0.04261756 -0.34297419 -0.87816691 -0.15430689]
# [ 0.18663144  0.86972666 -0.06103253  0.38307118]
# [ 0.84588599 -0.45432305 -0.39736366  0.38526249]]
print(sess.run(b))
#[2 1 1 2]
print(sess.run(c))
#[0 1 0]
2. tf.equal()

tf.equal(x, y, name=None):
判断两个tensor是否每个元素都相等。返回一个格式为bool的tensor

  • 参数:
    • x: 一个tensor. 必须是以下类型:half, float32, float64, uint8, int8, int16, int32, int64, complex64, quint8, qint8, qint32, string, bool, complex128
    • y: 一个tensor. 必须与x 的数据类型一致。
    • name: 自定义操作的名称 (可选)。
import tensorflow as tf  

A = tf.constant([1, 3, 4, 5, 6]) 
B = tf.constant([1, 3, 4, 3, 2]) 

with tf.Session() as sess:  
    print(sess.run(tf.equal(A, B)))  

# 输出[ True  True  True False False]
3. tf.cast()

tf.cast(x, dtype, name=None)
将x的数据格式转化成dtype.例如,原来x的数据格式是bool,那么将其转化成float以后,就能够将其转化成0和1的序列。反之也可以

a = tf.Variable([1,0,0,1,1])
b = tf.cast(a,dtype=tf.bool)
sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
print(sess.run(b))
#[ True False False  True  True]
4. tf.reduce_mean()

tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)

  • 参数说明:

    • input_tensor: 需要求平均值的张量。应该存在数字类型。
    • axis: 需要求平均值的维度. 如果没有设置(默认情况),所有的维度都会被减值。
    • keep_dims: 如果为真,维持减少的维度长度为1..
    • name: 操作的名字(可选值).
    • reduction_indices: 旧的axis参数的名字(已弃用)
  • 可跨越维度的计算张量各元素的平均值。

  • 根据给出的axis在input_tensor上求平均值。除非keep_dims为真,axis中的每个的张量秩会减少1。如果keep_dims为真,求平均值的维度的长度都会保持为1.
  • 如果不设置axis,所有维度上的元素都会被求平均值,并且只会返回一个只有一个元素的张量。
x = [[1., 1.]
 [2., 2.]]
tf.reduce_mean(x) # ==> 1.5
tf.reduce_mean(x, 0) # ==> [1.5, 1.5]
tf.reduce_mean(x, 1) # ==> [1., 2.]
参考链接
  1. https://blog.csdn.net/gangeqian2/article/details/79407750(Tensorflow常用函数汇总)

你可能感兴趣的:(TensorFlow,评估模型,准确度,常用函数,python)