本篇文章給大家分享的是有關(guān)使用tensorflow怎么自定義損失函數(shù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
import tensorflow as tf from numpy.random import RandomState batch_size = 8 # 兩個(gè)輸入節(jié)點(diǎn) x = tf.placeholder(tf.float32, shape=(None, 2), name="x-input") # 回歸問(wèn)題一般只有一個(gè)輸出節(jié)點(diǎn) y_ = tf.placeholder(tf.float32, shape=(None, 1), name="y-input") # 定義了一個(gè)單層的神經(jīng)網(wǎng)絡(luò)前向傳播的過(guò)程,這里就是簡(jiǎn)單加權(quán)和 w1 = tf.Variable(tf.random_normal([2, 1], stddev=1, seed=1)) y = tf.matmul(x, w1) # 定義預(yù)測(cè)多了和預(yù)測(cè)少了的成本 loss_less = 10 loss_more = 1 #在windows下,下面用這個(gè)where替代,因?yàn)檎{(diào)用tf.select會(huì)報(bào)錯(cuò) loss = tf.reduce_sum(tf.where(tf.greater(y, y_), (y - y_)*loss_more, (y_-y)*loss_less)) train_step = tf.train.AdamOptimizer(0.001).minimize(loss) #通過(guò)隨機(jī)數(shù)生成一個(gè)模擬數(shù)據(jù)集 rdm = RandomState(1) dataset_size = 128 X = rdm.rand(dataset_size, 2) """ 設(shè)置回歸的正確值為兩個(gè)輸入的和加上一個(gè)隨機(jī)量,之所以要加上一個(gè)隨機(jī)量是 為了加入不可預(yù)測(cè)的噪音,否則不同損失函數(shù)的意義就不大了,因?yàn)椴煌瑩p失函數(shù) 都會(huì)在能完全預(yù)測(cè)正確的時(shí)候最低。一般來(lái)說(shuō),噪音為一個(gè)均值為0的小量,所以 這里的噪音設(shè)置為-0.05, 0.05的隨機(jī)數(shù)。 """ Y = [[x1 + x2 + rdm.rand()/10.0-0.05] for (x1, x2) in X] with tf.Session() as sess: init = tf.global_variables_initializer() sess.run(init) steps = 5000 for i in range(steps): start = (i * batch_size) % dataset_size end = min(start + batch_size, dataset_size) sess.run(train_step, feed_dict={x:X[start:end], y_:Y[start:end]}) print(sess.run(w1)) [[ 1.01934695] [ 1.04280889]
最終結(jié)果如上面所示。
因?yàn)槲覀儺?dāng)初生成訓(xùn)練數(shù)據(jù)的時(shí)候,y是x1 + x2,所以回歸結(jié)果應(yīng)該是1,1才對(duì)。
但是,由于我們加了自己定義的損失函數(shù),所以,傾向于預(yù)估多一點(diǎn)。
如果,我們將loss_less和loss_more對(duì)調(diào),我們看一下結(jié)果:
[[ 0.95525807]
[ 0.9813394 ]]
以上就是使用tensorflow怎么自定義損失函數(shù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章標(biāo)題:使用tensorflow怎么自定義損失函數(shù)-創(chuàng)新互聯(lián)
URL鏈接:http://chinadenli.net/article34/deiose.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、定制開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、做網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容