最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Keras中的兩種模型:Sequential和Model用法

 更新時(shí)間:2020年06月27日 10:28:37   作者:__Watson__  
這篇文章主要介紹了Keras中的兩種模型:Sequential和Model用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在Keras中有兩種深度學(xué)習(xí)的模型:序列模型(Sequential)和通用模型(Model)。差異在于不同的拓?fù)浣Y(jié)構(gòu)。

序列模型 Sequential

序列模型各層之間是依次順序的線性關(guān)系,模型結(jié)構(gòu)通過(guò)一個(gè)列表來(lái)制定。

from keras.models import Sequential
from keras.layers import Dense, Activation

layers = [Dense(32, input_shape = (784,)),
   Activation('relu'),
   Dense(10),
   Activation('softmax')]

model = Sequential(layers)

或者逐層添加網(wǎng)絡(luò)結(jié)構(gòu)

from keras.models import Sequential
from keras.layers import Dense, Activation

model = Sequential()
model.add(Dense(32, input_shape = (784,)))
model.add(Activation('relu'))
model.add(Dense(10))
model.add(Activation('softmax'))

通用模型Model

通用模型可以設(shè)計(jì)非常復(fù)雜、任意拓?fù)浣Y(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),例如有向無(wú)環(huán)網(wǎng)絡(luò)、共享層網(wǎng)絡(luò)等。相比于序列模型只能依次線性逐層添加,通用模型能夠比較靈活地構(gòu)造網(wǎng)絡(luò)結(jié)構(gòu),設(shè)定各層級(jí)的關(guān)系。

from keras.layers import Input, Dense
from keras.models import Model

# 定義輸入層,確定輸入維度
input = input(shape = (784, ))
# 2個(gè)隱含層,每個(gè)都有64個(gè)神經(jīng)元,使用relu激活函數(shù),且由上一層作為參數(shù)
x = Dense(64, activation='relu')(input)
x = Dense(64, activation='relu')(x)
# 輸出層
y = Dense(10, activation='softmax')(x)
# 定義模型,指定輸入輸出
model = Model(input=input, output=y)
# 編譯模型,指定優(yōu)化器,損失函數(shù),度量
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
# 模型擬合,即訓(xùn)練
model.fit(data, labels)

補(bǔ)充知識(shí):keras神經(jīng)網(wǎng)絡(luò),Sequential序貫?zāi)P停ǘ诸?、多分類?/strong>

1 Sequential參數(shù)

model = Sequential() model.add(Dense(32, input_dim=78))

解釋:

Sequential 的第一個(gè)關(guān)于輸入數(shù)據(jù)shape的參數(shù),后邊的各個(gè)層則可以自動(dòng)推到出中間數(shù)據(jù)的shape

01 傳遞一個(gè)input_shape的關(guān)鍵字參數(shù)給第一層,如果填入None則表示此位置可能是任何正整數(shù)。數(shù)據(jù)的batch大小不應(yīng)包含在其中。

02 有些2D層,如Dense,支持通過(guò)指定其輸入維度input_dim來(lái)隱含的指定輸入數(shù)據(jù)shape,是一個(gè)Int類型的數(shù)據(jù)。一些3D的時(shí)域?qū)又С滞ㄟ^(guò)參數(shù)input_dim和input_length來(lái)指定輸入shape。

03 如果你需要為輸入指定一個(gè)固定大小的batch_size(常用于stateful RNN網(wǎng)絡(luò)),可以傳遞batch_size參數(shù)到一個(gè)層中,例如你想指定輸入張量的batch大小是32,數(shù)據(jù)shape是(6,8),則你需要傳遞batch_size=32和input_shape=(6,8)。

2、compile配置學(xué)習(xí)過(guò)程

model.compile(optimizer='rmspropy',loss='categorical_crossentropy',metrics=['accuracy'])

01 優(yōu)化器optimizer:

該參數(shù)可指定為已預(yù)定義的優(yōu)化器名,如rmsprop、adagrad,或一個(gè)Optimizer類的對(duì)象。

02 損失函數(shù)loss:

該參數(shù)為模型試圖最小化的目標(biāo)函數(shù),它可為預(yù)定義的損失函數(shù)名,如categorical_crossentropy、mse,也可以為一個(gè)損失函數(shù)。

03 指標(biāo)列表metrics:

對(duì)分類問(wèn)題,我們一般將該列表設(shè)置為metrics=['accuracy']。指標(biāo)可以是一個(gè)預(yù)定義指標(biāo)的名字,也可以是一個(gè)用戶定制的函數(shù).指標(biāo)函數(shù)應(yīng)該返回單個(gè)張量,或一個(gè)完成metric_name - > metric_value映射的字典.

3、案例

01 基于多層感知器Softmax多分類(圖片)

from keras.models import Sequential
from keras.layers import Dense,Dropout,Activation
from keras.optimizers import SGD
import keras #abd
 
# Generate dummy data
import numpy as np
 
x_train=np.random.random((1000,20))
y_train=keras.utils.to_categorical(np.random.randint(10,size=(1000,1)),num_classes=10)
x_test=np.random.random((100,20))
y_test=keras.utils.to_categorical(np.random.randint(10,size=(100,1)),num_classes=10)
 
model=Sequential()
 
# Dense(64) is a fully-connected Layer with 64 hidden units.
# in the first layer ,you must specify the expected input data shape;
# here,20-dimensional vectors.
 
model.add(Dense(64,activation='relu',input_dim=20))
model.add(Dropout(0.5))
model.add(Dense(64,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10,activation='softmax'))
 
sgd=SGD(lr=0.01,decay=1e-6,momentum=0.9,nesterov=True)
 
model.compile(loss='categorical_crossentropy', # 損失函數(shù)
    optimizer=sgd, # 
    metrics=['accuracy'] # 精確度,評(píng)估模型在訓(xùn)練和測(cè)試時(shí)的網(wǎng)絡(luò)性能的指標(biāo)。
    ) 
 
model.fit(x_train,y_train,epochs=20,batch_size=128) 
 
# batch_size 整數(shù),指定進(jìn)行梯度下降時(shí)每個(gè)批次包含的樣本數(shù)訓(xùn)練時(shí)一個(gè)批次的樣本
# 會(huì)被計(jì)算一次梯度下降,使目標(biāo)函數(shù)進(jìn)行一步優(yōu)化
# epochs;訓(xùn)練20次,整數(shù),訓(xùn)練終止時(shí)候的epoch值
score=model.evaluate(x_test,y_test,batch_size=128)
 
# 評(píng)估函數(shù) ,本函數(shù)返回一個(gè)測(cè)試誤差的標(biāo)量值(如果模型沒(méi)有其他評(píng)價(jià)指標(biāo))。

02 MLP的二分類

import numpy as np
from keras.models import Sequential
from keras.layers import Dense,Dropout
 
x_train=np.random.random((1000,20))
y_train=keras.utils.to_categorical(np.random.randint(10,size=(1000,1)),num_classes=10)
x_test=np.random.random((100,20))
y_test=keras.utils.to_categorical(np.random.randint(10,size=(100,1)),num_classes=10)
 
model=Sequential()
model.add(Dense(64,input_dim=20,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1,activation='sigmoid'))
 
model.compile(loss='binary_crossentropy',
    optimizer='rmsprop',
    metrics=['accuracy'])
 
model.fit(x_train,y_train,
   epoches=20,
   batch_size=128)
 
score=model.evaluate(x_test,y_test,batch_size=128)

相關(guān)詳細(xì)說(shuō)明見(jiàn)官方文檔:https://keras-cn.readthedocs.io/en/latest/getting_started/sequential_model/

以上這篇Keras中的兩種模型:Sequential和Model用法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • PyQt6+pyqtgraph折線圖繪制顯示功能

    PyQt6+pyqtgraph折線圖繪制顯示功能

    文章介紹了如何在PyQt6中使用pyqtgraph庫(kù)繪制和顯示折線圖,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 用Python自動(dòng)清理電腦內(nèi)重復(fù)文件,只要10行代碼(自動(dòng)腳本)

    用Python自動(dòng)清理電腦內(nèi)重復(fù)文件,只要10行代碼(自動(dòng)腳本)

    這篇文章主要介紹了用Python自動(dòng)清理電腦內(nèi)重復(fù)文件,只要10行代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • python使用logging模塊發(fā)送郵件代碼示例

    python使用logging模塊發(fā)送郵件代碼示例

    這篇文章主要介紹了python使用logging模塊發(fā)送郵件代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • 用Python實(shí)現(xiàn)控制電腦鼠標(biāo)

    用Python實(shí)現(xiàn)控制電腦鼠標(biāo)

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)控制電腦鼠標(biāo),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Django中針對(duì)基于類的視圖添加csrf_exempt實(shí)例代碼

    Django中針對(duì)基于類的視圖添加csrf_exempt實(shí)例代碼

    這篇文章主要介紹了Django中針對(duì)基于類的視圖添加csrf_exempt實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • pandas df.sample()的使用

    pandas df.sample()的使用

    本文主要介紹了pandas df.sample()的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python獲取文件真實(shí)鏈接的方法,針對(duì)于302返回碼

    python獲取文件真實(shí)鏈接的方法,針對(duì)于302返回碼

    今天小編就為大家分享一篇python獲取文件真實(shí)鏈接的方法,針對(duì)于302返回碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python?pyecharts繪制條形圖詳解

    Python?pyecharts繪制條形圖詳解

    pyecharts是一個(gè)由百度開(kāi)源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設(shè)計(jì),得到了眾多開(kāi)發(fā)者的認(rèn)可。本文將利用其繪制多樣的條形圖,需要的可以參考一下
    2022-04-04
  • python字典中g(shù)et()函數(shù)的基本用法實(shí)例

    python字典中g(shù)et()函數(shù)的基本用法實(shí)例

    在字典內(nèi)置的方法中,想說(shuō)的方法為get,這個(gè)方法是通過(guò)鍵來(lái)獲取相應(yīng)的值,但是如果相應(yīng)的鍵不存在則返回None,這篇文章主要給大家介紹了關(guān)于python字典中g(shù)et()函數(shù)的基本用法,需要的朋友可以參考下
    2022-03-03
  • Python 查看文件的編碼格式方法

    Python 查看文件的編碼格式方法

    下面小編就為大家分享一篇Python 查看文件的編碼格式方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12

最新評(píng)論

宁都县| 县级市| 丹东市| 永兴县| 福州市| 南汇区| 河西区| 广元市| 疏附县| 南城县| 武邑县| 大厂| 福建省| 巴彦淖尔市| 太康县| 太康县| 彭水| 泽州县| 东阳市| 锦屏县| 曲周县| 龙江县| 曲水县| 安泽县| 双峰县| 丁青县| 兴和县| 大安市| 昭平县| 太保市| 宁城县| 讷河市| 东乌珠穆沁旗| 建水县| 凌源市| 车致| 宁强县| 东港市| 江门市| 巴塘县| 河源市|