在这篇文章中我整理了学习tensorfllow时的一些函数
loss函数:
https://www.cnblogs.com/francischeng/p/9836341.html
tf.equal():
tf.cast():
数据类型转化
import tensorflow as tf import numpy as np A = [[1,3,4,5,6]] B = [[1,3,4,3,2]] with tf.Session() as sess: correct_pre = sess.run(tf.equal(A,B)) #预测的准确的值,Boolean类型的列表 correct_float = sess.run(tf.cast(correct_pre, tf.float32)) #用cast函数, 把之前的列表转化成float形式,也就是True转化成1, False转化成0 accuracy = sess.run(tf.reduce_mean(correct_float)) #计算准确率 print(correct_pre, correct_float, accuracy, sep=' ')
结果
arg_max和argmax
arg_max:
tf.argmax(input, axis=None, name=None, dimension=None)
参数
- input:输入Tensor
- axis:0表示按列,1表示按行
- name:名称
- dimension:和axis功能一样,默认axis取值优先。新加的字段
import tensorflow as tf 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,axis=0) c=tf.argmax(input=a,dimension=1) #此处用dimesion或用axis是一样的 sess = tf.InteractiveSession() sess.run(tf.initialize_all_variables()) 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]
推荐使用argmax,因为arg_max is no longer exits. 将会被argmax取代
其实这样两个函数是差不多的, argmax多了一个判断