日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tensorflow中model.compile()用法

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorflow中model.compile()用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tensorflow中model.compile()用法

model.compile()方法用于在配置訓練方法時,告知訓練時用的優化器、損失函數和準確率評測標準

?model.compile(optimizer =?優化器,

? ? ? ? ? ? ? ? ? ? ? ? loss =?損失函數,

? ? ? ? ? ? ? ? ? ? ? ? metrics = ["準確率”])

其中:

optimizer可以是字符串形式給出的優化器名字,也可以是函數形式,使用函數形式可以設置學習率、動量和超參數

例如:“sgd”? ?或者? ?tf.optimizers.SGD(lr =?學習率,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?decay =?學習率衰減率,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? momentum =?動量參數)

? ? ? ? ? ?“adagrad"? 或者? tf.keras.optimizers.Adagrad(lr =?學習率,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?decay =?學習率衰減率)

? ? ? ? ? ? ”adadelta"? 或者? tf.keras.optimizers.Adadelta(lr =?學習率,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?decay =?學習率衰減率)

? ? ? ? ? ? ?“adam"? 或者? tf.keras.optimizers.Adam(lr =?學習率,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? decay =?學習率衰減率)

?

loss可以是字符串形式給出的損失函數的名字,也可以是函數形式

例如:”mse"?或者 tf.keras.losses.MeanSquaredError()

? ? ? ? ? ?"sparse_categorical_crossentropy"? 或者? tf.keras.losses.SparseCatagoricalCrossentropy(from_logits = False)

? ? ? ? ? ? ?損失函數經常需要使用softmax函數來將輸出轉化為概率分布的形式,在這里from_logits代表是否將輸出轉為概率分布的形式,為False時表示轉換為概率分布,為True時表示不轉換,直接輸出

?

Metrics標注網絡評價指標

例如:

? ? ? ? "accuracy" : y_?和 y?都是數值,如y_ = [1] y = [1]? #y_為真實值,y為預測值

? ? ? ? “sparse_accuracy":y_和y都是以獨熱碼?和概率分布表示,如y_ = [0, 1, 0], y = [0.256, 0.695, 0.048]

? ? ? ? "sparse_categorical_accuracy" :y_是以數值形式給出,y是以?獨熱碼給出,如y_ = [1], y = [0.256?0.695, 0.048]

? ? ? ? ?

?

示例代碼:

#第一步,import import tensorflow as tf #導入模塊 from sklearn import datasets #從sklearn中導入數據集 import numpy as np #導入科學計算模塊 import keras#第二步,train, test x_train = datasets.load_iris().data #導入iris數據集的輸入y_train = datasets.load_iris().target #導入iris數據集的標簽np.random.seed(120) #設置隨機種子,讓每次結果都一樣,方便對照np.random.shuffle(x_train) #使用shuffle()方法,讓輸入x_train亂序np.random.seed(120) #設置隨機種子,讓每次結果都一樣,方便對照np.random.shuffle(y_train) #使用shuffle()方法,讓輸入y_train亂序tf.random.set_seed(120) #讓tensorflow中的種子數設置為120#第三步,models.Sequential() model = tf.keras.models.Sequential([ #使用models.Sequential()來搭建神經網絡tf.keras.layers.Dense(3, activation = "softmax", kernel_regularizer = tf.keras.regularizers.l2()) #全連接層,三個神經元,激活函數為softmax,使用l2正則化 ])#第四步,model.compile() model.compile( #使用model.compile()方法來配置訓練方法optimizer = tf.keras.optimizers.SGD(lr = 0.1), #使用SGD優化器,學習率為0.1loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False), #配置損失函數metrics = ['sparse_categorical_accuracy'] #標注網絡評價指標 )#第五步,model.fit() model.fit( #使用model.fit()方法來執行訓練過程,x_train, y_train, #告知訓練集的輸入以及標簽,batch_size = 32, #每一批batch的大小為32,epochs = 500, #迭代次數epochs為500validation_split = 0.2, #從測試集中劃分80%給訓練集validation_freq = 20 #測試的間隔次數為20 )#第六步,model.summary() model.summary() #打印神經網絡結構,統計參數數目

?

?

總結

以上是生活随笔為你收集整理的tensorflow中model.compile()用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。