按照tensorflow官方教程搭建好的一个model中的loss函数应该是采用如下的计算方法:
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
其中,这个公式就是按照标准的交叉熵函数进行定义的,比较简陋,去掉了常数项系数,但是没改变总体的性质,所以算是基本交叉熵函数。
但是呢,tensorflow系统中提供了计算交叉熵函数的接口。
以下这两个函数:
①tf.nn.sparse_softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None)
②tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)