tf.nn.softmax参数详解以及作用
tf.nn.softmax參數(shù)詳解以及作用
參考地址:https://zhuanlan.zhihu.com/p/93054123
tf.nn.softmax(logits,axis=None,name=None,dim=None)
- logits:一個(gè)非空的Tensor。必須是下列類型之一:half, float32,float64
- axis:將在其上執(zhí)行維度softmax。默認(rèn)值為-1,表示最后一個(gè)維度
- name:操作的名稱(可選)
- dim:axis的已棄用的別名
輸入: 全連接層(往往是模型的最后一層)的值
輸出: 歸一化的值,含義是屬于該位置的概率;
通過Softmax回歸,將logistic的預(yù)測(cè)二分類的概率的問題推廣到了n分類的概率的問題。
softmax的輸出向量是概率,該樣本屬于各個(gè)類的概率。輸出的向量的每個(gè)值的大小范圍為0到1。
當(dāng)一個(gè)樣本經(jīng)過softmax層并輸出一個(gè)向量,會(huì)取這個(gè)向量中值最大的那個(gè)數(shù)的index作為這個(gè)樣本的預(yù)測(cè)標(biāo)簽
返回: 一個(gè)Tensor,與logits具有相同的類型和shape,softmax函數(shù)的輸出不改變維度的大小
用途: 如果做單分類問題,那么輸出的值就取top1(最大,argmax);如果做多(N)分類問題,那么輸出的值就取topN
softmax的數(shù)學(xué)計(jì)算公式
softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), axis)
計(jì)算tf.exp(x)
e為自然底數(shù),值為2.7182818284…
tf.exp(x) = e x
tf.reduce_sum(tensor,axis) 是求和函數(shù)
- tensor: 要減少的張量
- axis: 要減小的尺寸.
默認(rèn)值為None,則縮小所有尺寸.
為0,按行求和
為1,按列求和 - keep_dims:如果為true,則保留長度為1的縮小尺寸.
使用tf.nn.softmax
array = tf.constant([4.0,1.0,5.0], dtype=tf.float32) sess = tf.InteractiveSession() print(sess.run(tf.nn.softmax(array))) #[0.26538792 0.01321289 0.7213992 ] 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的tf.nn.softmax参数详解以及作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解tf.nn.dropout
- 下一篇: tf.log()详解