關(guān)于tensorflow中tf.keras.models.Sequential()的用法
tf.keras.models.Sequential()用法
Sequential()方法是一個(gè)容器,
描述了神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),
在Sequential()的輸入?yún)?shù)中描述從輸入層到輸出層的網(wǎng)絡(luò)結(jié)構(gòu)
model = tf.keras.models.Sequential([網(wǎng)絡(luò)結(jié)構(gòu)]) #描述各層網(wǎng)絡(luò)
網(wǎng)絡(luò)結(jié)構(gòu)舉例
拉直層
tf.keras.layers.Flatten() #拉直層可以變換張量的尺寸,把輸入特征拉直為一維數(shù)組,是不含計(jì)算參數(shù)的層
全連接層
tf.keras.layers.Dense(神經(jīng)元個(gè)數(shù), activation = "激活函數(shù)“, kernel_regularizer = "正則化方式)
其中:
- activation可選 relu 、softmax、 sigmoid、 tanh等
- kernel_regularizer可選 tf.keras.regularizers.l1() 、tf.keras.regularizers.l2()
卷積層
tf.keras.layers.Conv2D(filter = 卷積核個(gè)數(shù), kernel_size = 卷積核尺寸, strides = 卷積步長(zhǎng), padding = ”valid“ or "same")
LSTM層
tf.keras.layers.LSTM()
實(shí)例代碼
#第一步,import import tensorflow as tf #導(dǎo)入模塊 from sklearn import datasets #從sklearn中導(dǎo)入數(shù)據(jù)集 import numpy as np #導(dǎo)入科學(xué)計(jì)算模塊 import keras #第二步,train, test x_train = datasets.load_iris().data #導(dǎo)入iris數(shù)據(jù)集的輸入 y_train = datasets.load_iris().target #導(dǎo)入iris數(shù)據(jù)集的標(biāo)簽 np.random.seed(120) #設(shè)置隨機(jī)種子,讓每次結(jié)果都一樣,方便對(duì)照 np.random.shuffle(x_train) #使用shuffle()方法,讓輸入x_train亂序 np.random.seed(120) #設(shè)置隨機(jī)種子,讓每次結(jié)果都一樣,方便對(duì)照 np.random.shuffle(y_train) #使用shuffle()方法,讓輸入y_train亂序 tf.random.set_seed(120) #讓tensorflow中的種子數(shù)設(shè)置為120 #第三步,models.Sequential() model = tf.keras.models.Sequential([ #使用models.Sequential()來搭建神經(jīng)網(wǎng)絡(luò) tf.keras.layers.Dense(3, activation = "softmax", kernel_regularizer = tf.keras.regularizers.l2()) #全連接層,三個(gè)神經(jīng)元,激活函數(shù)為softmax,使用l2正則化 ]) #第四步,model.compile() model.compile( #使用model.compile()方法來配置訓(xùn)練方法 optimizer = tf.keras.optimizers.SGD(lr = 0.1), #使用SGD優(yōu)化器,學(xué)習(xí)率為0.1 loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False), #配置損失函數(shù) metrics = ['sparse_categorical_accuracy'] #標(biāo)注網(wǎng)絡(luò)評(píng)價(jià)指標(biāo) ) #第五步,model.fit() model.fit( #使用model.fit()方法來執(zhí)行訓(xùn)練過程, x_train, y_train, #告知訓(xùn)練集的輸入以及標(biāo)簽, batch_size = 32, #每一批batch的大小為32, epochs = 500, #迭代次數(shù)epochs為500 validation_split = 0.2, #從測(cè)試集中劃分80%給訓(xùn)練集 validation_freq = 20 #測(cè)試的間隔次數(shù)為20 ) #第六步,model.summary() model.summary() #打印神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),統(tǒng)計(jì)參數(shù)數(shù)目
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python 統(tǒng)計(jì)高頻字?jǐn)?shù)的方法
今天小編就為大家分享一篇使用Python 統(tǒng)計(jì)高頻字?jǐn)?shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01如何從Python字符串中刪除最后一個(gè)分號(hào)或者逗號(hào)
這篇文章主要介紹了從?Python?中的字符串中刪除最后一個(gè)分號(hào)或者逗號(hào)的兩種方法,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04pytorch torch.nn.AdaptiveAvgPool2d()自適應(yīng)平均池化函數(shù)詳解
今天小編就為大家分享一篇pytorch torch.nn.AdaptiveAvgPool2d()自適應(yīng)平均池化函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01使用python對(duì)多個(gè)txt文件中的數(shù)據(jù)進(jìn)行篩選的方法
今天小編就為大家分享一篇使用python對(duì)多個(gè)txt文件中的數(shù)據(jù)進(jìn)行篩選的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python中pip安裝非PyPI官網(wǎng)第三方庫的方法
這篇文章主要介紹了Python中pip安裝非PyPI官網(wǎng)第三方庫的方法,pip最新的版本(1.5以上的版本), 出于安全的考 慮,pip不允許安裝非PyPI的URL,本文就給出兩種解決方法,需要的朋友可以參考下2015-06-06詳解Python中math和decimal模塊的解析與實(shí)踐
在Python中,math?和?decimal?模塊是處理數(shù)學(xué)運(yùn)算的重要工具,本文將深入探討這兩個(gè)模塊的基礎(chǔ)知識(shí),并通過實(shí)際的代碼示例演示它們的用法,希望對(duì)大家有所幫助2024-02-02python中threading.Semaphore和threading.Lock的具體使用
python中的多線程是一個(gè)非常重要的知識(shí)點(diǎn),本文主要介紹了python中threading.Semaphore和threading.Lock的具體使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08python merge、concat合并數(shù)據(jù)集的實(shí)例講解
下面小編就為大家分享一篇python merge、concat合并數(shù)據(jù)集的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04在langchain中對(duì)大模型的輸出進(jìn)行格式化實(shí)現(xiàn)
這篇文章主要為大家介紹了在langchain中對(duì)大模型的輸出進(jìn)行格式化實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11