使用tensorflow怎么自定義損失函數(shù)-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關使用tensorflow怎么自定義損失函數(shù),小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、做網(wǎng)站、丁青網(wǎng)絡推廣、微信小程序、丁青網(wǎng)絡營銷、丁青企業(yè)策劃、丁青品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供丁青建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:muchs.cn
import tensorflow as tf
from numpy.random import RandomState
batch_size = 8
# 兩個輸入節(jié)點
x = tf.placeholder(tf.float32, shape=(None, 2), name="x-input")
# 回歸問題一般只有一個輸出節(jié)點
y_ = tf.placeholder(tf.float32, shape=(None, 1), name="y-input")
# 定義了一個單層的神經(jīng)網(wǎng)絡前向傳播的過程,這里就是簡單加權和
w1 = tf.Variable(tf.random_normal([2, 1], stddev=1, seed=1))
y = tf.matmul(x, w1)
# 定義預測多了和預測少了的成本
loss_less = 10
loss_more = 1
#在windows下,下面用這個where替代,因為調(diào)用tf.select會報錯
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)
#通過隨機數(shù)生成一個模擬數(shù)據(jù)集
rdm = RandomState(1)
dataset_size = 128
X = rdm.rand(dataset_size, 2)
"""
設置回歸的正確值為兩個輸入的和加上一個隨機量,之所以要加上一個隨機量是
為了加入不可預測的噪音,否則不同損失函數(shù)的意義就不大了,因為不同損失函數(shù)
都會在能完全預測正確的時候最低。一般來說,噪音為一個均值為0的小量,所以
這里的噪音設置為-0.05, 0.05的隨機數(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]

最終結果如上面所示。

因為我們當初生成訓練數(shù)據(jù)的時候,y是x1 + x2,所以回歸結果應該是1,1才對。
但是,由于我們加了自己定義的損失函數(shù),所以,傾向于預估多一點。

如果,我們將loss_less和loss_more對調(diào),我們看一下結果:

[[ 0.95525807]
[ 0.9813394 ]]

以上就是使用tensorflow怎么自定義損失函數(shù),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標題:使用tensorflow怎么自定義損失函數(shù)-創(chuàng)新互聯(lián)
URL鏈接:http://muchs.cn/article34/deiose.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、定制開發(fā)、動態(tài)網(wǎng)站響應式網(wǎng)站、做網(wǎng)站、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司