關(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()來(lái)搭建神經(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()方法來(lái)配置訓(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()方法來(lái)執(zhí)行訓(xùn)練過(guò)程,
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)文章
零基礎(chǔ)寫(xiě)python爬蟲(chóng)之爬蟲(chóng)框架Scrapy安裝配置
Scrapy是一個(gè)使用Python編寫(xiě)的,輕量級(jí)的,簡(jiǎn)單輕巧,并且使用起來(lái)非常的方便。使用Scrapy可以很方便的完成網(wǎng)上數(shù)據(jù)的采集工作,它為我們完成了大量的工作,而不需要自己費(fèi)大力氣去開(kāi)發(fā)。2014-11-11
Python?async+request與async+aiohttp實(shí)現(xiàn)異步網(wǎng)絡(luò)請(qǐng)求探索
這篇文章主要介紹了Python?async+request與async+aiohttp實(shí)現(xiàn)異步網(wǎng)絡(luò)請(qǐng)求探索,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10
如何利用pyinstaller打包Python程序?yàn)閑xe可執(zhí)行文件
這篇文章主要給大家介紹了關(guān)于如何利用pyinstaller打包Python程序?yàn)閑xe可執(zhí)行文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Python協(xié)程環(huán)境下文件操作的正確方法
在Python協(xié)程中執(zhí)行文件操作是常見(jiàn)的需求,但直接使用同步文件讀寫(xiě)會(huì)阻塞事件循環(huán),破壞異步并發(fā)優(yōu)勢(shì),本文將深入解析協(xié)程環(huán)境下文件操作的正確方法,涵蓋多種場(chǎng)景下的最佳實(shí)踐和性能優(yōu)化技巧,需要的朋友可以參考下2025-09-09
python微信公眾號(hào)之關(guān)注公眾號(hào)自動(dòng)回復(fù)
這篇文章主要為大家詳細(xì)介紹了python微信公眾號(hào)之關(guān)注公眾號(hào)自動(dòng)回復(fù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
python可視化plotly?圖例(legend)設(shè)置
這篇文章主要介紹了python可視化plotly?圖例(legend)設(shè)置,主要介紹了關(guān)于python?的legend圖例,參數(shù)使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,需要的朋友可以參考下賣(mài)你具體內(nèi)容2022-02-02

