tensorflow中的一些函数

在这篇文章中我整理了学习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多了一个判断

原文地址:https://www.cnblogs.com/francischeng/p/9836741.html