損失函式對模型訓練結果的影響

2021-09-25 18:55:47 字數 1594 閱讀 8664

import tensorflow as tf

from numpy.random import randomstate

batch_size = 8

#定義兩個佔位符,表示輸入的x 與 正確的y

x = tf.placeholder(tf.float32,shape=(none ,2),name="x-input")

y_ = tf.placeholder(tf.float32,shape=(none , 1),name='y-input')

#正態分佈產生一組2*1 的隨機數矩陣

w1 = tf.variable(tf.random_normal([2,1],stddev=1,seed = 1))

#定義前向傳播函式

y= tf.matmul(x,w1)

#自定義損失函式

loss_less = 10

loss_more = 1

loss = tf.reduce_sum(tf.where(tf.greater(y,y_),

(y-y_)*loss_more,

(y_-y)*loss_less))

#定義反向傳播演算法

train_step = tf.train.adadeltaoptimizer(0.001).minimize(loss)

#通過隨機數產生乙個模擬資料集

rdm = randomstate(1)

dataset_size = 128

x = rdm.rand(dataset_size,2)

#之所以加上乙個隨機量是為了加入不可**的雜訊,雜訊為乙個均值為0的小量,在這裡雜訊是乙個 -0.05~0.05的隨機數

y = [[x1+x2+rdm.rand()/10.0-0.05]for (x1,x2) in x]

with tf.session() as sess :

#初始化全域性的變數,書上用到的是tf.initialize_all_variables(),編譯器提示可以用這個

init_op = tf.global_variables_initializer()

sess.run(init_op)

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=)

print

tf.initialize_all_variables(): this function is deprecated. it will be removed after 2017-03-02. instructions for updating: use tf.global_variables_initializer instead.

tf.initialize_all_variables() 該函式將不再使用,在 2023年3月2號以後;

3模型大小 混合精度對模型訓練和推理的影響

計算機使用0 1來標識資訊,每個0或每個1代表乙個bit。資訊一般會以下面的三種形式表示 1 字串 字串的最小單元是char,每個char佔8個bit,也就是1個byte。比如字串 abc 這三個字元組成的串占用的儲存空間 儲存空間 1x3 3 bytes 24 bits 2 整數整數包括int4 ...

天氣對港口作業的影響模型(二)

二 資料來源 資料形式 2016年 至今 日期,最高氣溫,最低氣溫,天氣,風力風向,空氣質素指數 示例資料 廣州 三 模型方法 模型輸入 模型輸出 模型流程圖 本模型分為兩個步驟 1 模糊評定,計算天氣因素對港口作業影響程度。通過計算模糊評價矩陣r來獲取不同程度所佔的比例值,比例值最大的代表該天氣對...

觸發器對IMP IMPDP匯入結果的影響(一)

首先看一下觸發器對imp匯入結果的影響。sql show user user 為 admin sql create table test id int,name varchar2 30 表已建立。sql insert into test values 1,yanshoupeng 已建立 1 行。sq...