tensorflow的几个函数
-
tf.argmax()
通俗的讲,该函数是返回最大的那个数值所在的下标,难点在于第二个参数
先放一个例子,下面进行解释argmax_paramter = tf.Variable([[1, 32, 44, 56], [89, 12, 90, 33], [35, 69, 1, 10]]) argmax_0 = tf.argmax(argmax_paramter, 0) argmax_1 = tf.argmax(argmax_paramter, 1) print("argmax_0:", sess.run(argmax_0)) print("argmax_1:", sess.run(argmax_1))
运行结果
第二个参数为0时比较所有数组相同位置上的数
第二个参数为1时分别比较每个数组中数的大小 -
tf.reduce_mean()
reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
该函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用 作降维或者计算tensor(图像)的平均值
input_tensor: 输入的tensor
axis: 指定的轴,如果不指定,则计算所有元素的均值
keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状, 设置为False,输出结果会降低维度
name: 操作的名称
reduction_indices:用来指定轴import tensorflow as tf # 维度为2,形状为[2,3] tensor = [[1,2,3], [1,2,3]] tensor = tf.cast(x,tf.float32) mean_all = tf.reduce_mean(xx, keep_dims=False) mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=False) mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=False) with tf.Session() as sess: m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1]) print(m_a) # output: 2.0 print(m_0) # output: [1 2 3] print(m_1) # output: [2 2] # 如果设置保持原来的张量的维度,keep_dims=True print(m_a) # output: [[2]] print(m_0) # output: [[1 2 3]] print(m_1) # output: [[2], [2]]
-
tf.equal()
equal(x, y, name=None)
该函数是判断x,y是否相等,逐个元素进行判断
import tensorflow as tf a = [[1,2,3],[4,5,6]] b = [[1,0,3],[1,5,1]] with tf.Session() as sess: print(sess.run(tf.equal(a,b))) # output: # [[ True False True] # [False True False]]
-
tf.cast()
tf.cast(x, dtype, name=None)
该函数的功能是将x的数据类型转换为dtype
a = tf.Variable([1,0,0,1,1]) b = tf.cast(a,dtype=tf.bool) sess = tf.Session() sess.run(tf.initialize_all_variables()) print(sess.run(b)) # output:[True False False True True]