成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

keras中最常用深度學(xué)習(xí)的API

人工智能 深度學(xué)習(xí)
眾所周知,利用Keras-Python庫(kù)可以快速、輕松地創(chuàng)建屬于自己的深度學(xué)習(xí)的模型,今天我們就來(lái)介紹一些我們常用的API函數(shù)。

[[208000]]

眾所周知,利用Keras-Python庫(kù)可以快速、輕松地創(chuàng)建屬于自己的深度學(xué)習(xí)的模型,今天我們就來(lái)介紹一些我們常用的API函數(shù)。

序貫?zāi)P?Sequential)API允許你為大多數(shù)問(wèn)題逐層的創(chuàng)建模型。它的局限性在于它不允許你創(chuàng)建共享層或者是具有多個(gè)輸入或輸出的模型。

Keras中的API函數(shù)是創(chuàng)建更多靈活性模型的替代方法,其中也包括創(chuàng)建更復(fù)雜的模型。

在本篇博客中,你將發(fā)現(xiàn)如何在Keras中使用靈活的API函數(shù)來(lái)定義深度學(xué)習(xí)模型。

閱讀完成后,你將知道:

  1. 連續(xù)的API和API函數(shù)之間的區(qū)別。
  2. 如何使用API函數(shù)定義簡(jiǎn)單的多層感知器,卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
  3. 如何使用共享層和多個(gè)輸入和輸出定義更復(fù)雜的模型。

OK,讓我們開(kāi)始吧。

教程概述

本教程分為6部分:

  1. Keras序貫?zāi)P汀?/li>
  2. Keras功能函數(shù)模型。
  3. 標(biāo)準(zhǔn)網(wǎng)絡(luò)模型。
  4. 共享層模型。
  5. 多個(gè)輸入和輸出模型。
  6. ***練習(xí)。

1.Keras序貫?zāi)P?/strong>

Keras提供了一個(gè)Sequential模型的API。

這是創(chuàng)建深度學(xué)習(xí)模型的一種方法,其中創(chuàng)建了Sequential類的實(shí)例,并創(chuàng)建了模型圖層并將其添加其中。

例如,可以將層定義并傳遞給Sequential作為數(shù)組:

  1. from keras.models import Sequential 
  2.  
  3. from keras.layers import Dense 
  4.  
  5. model = Sequential([Dense(2, input_dim=1), Dense(1)])  

層也可以分段添加:

  1. from keras.models import Sequential 
  2.  
  3. from keras.layers import Dense 
  4.  
  5. model = Sequential() 
  6.  
  7. model.add(Dense(2, input_dim=1)) 
  8.  
  9. model.add(Dense(1))  

序貫?zāi)P偷腁PI在大多數(shù)情況下非常適合開(kāi)發(fā)深度學(xué)習(xí)模型,但也有一些限制。例如,它不能定義具有多個(gè)不同輸入源的模型,因?yàn)槟菢訒?huì)產(chǎn)生多個(gè)輸出目標(biāo)。

2.Keras功能函數(shù)模型

Keras功能API為定義模型提供了更靈活的方式。

它允許你定義多個(gè)輸入或輸出的模型以及可以共享圖層的模型。除此之外,它還允許你定義臨時(shí)的非循環(huán)網(wǎng)絡(luò)圖。

模型通過(guò)創(chuàng)建層的實(shí)例并將它們直接彼此成對(duì)連接來(lái)定義,然后定義一個(gè)模型,該模型的指定層作為模型的輸入和輸出。

我們來(lái)看看Keras功能API的三個(gè)獨(dú)特方面:

2.1定義輸入

與Sequential模型不同,你必須創(chuàng)建并定義一個(gè)獨(dú)立的輸入層,該層指定輸入數(shù)據(jù)的形狀。

輸入層采用一個(gè)模型參數(shù),它是一個(gè)代表輸入數(shù)據(jù)維度的元組。

當(dāng)輸入數(shù)據(jù)為一維時(shí),例如對(duì)于多層感知器,該模型必須明確留出在訓(xùn)練網(wǎng)絡(luò)分割數(shù)據(jù)時(shí)所使用的小批量大小的形狀。因此,模型元組始終以掛起的***一維(2)定義,例如:

  1. from keras.layers import Input 
  2.  
  3. visible = Input(shape=(2,))  

2.2連接層

模型中的層可以成對(duì)連接,這是通過(guò)在定義每個(gè)新圖層時(shí)指定輸入來(lái)自哪里。使用括號(hào)符號(hào),使得在創(chuàng)建圖層之后,指定從當(dāng)前圖層的輸入到即將到達(dá)的圖層。

讓我們用一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明這一點(diǎn)。我們可以創(chuàng)建如上所述的輸入層,然后創(chuàng)建一個(gè)隱藏層,作為僅從輸入層接收輸入的密集層。

  1. from keras.layers import Input 
  2.  
  3. from keras.layers import Dense 
  4.  
  5. visible = Input(shape=(2,)) 
  6.  
  7. hidden = Dense(2)(visible)  

正是通過(guò)這種連接層的方法,使功能API更具有靈活性。你可以看到開(kāi)始定義ad-hoc圖層的特殊圖形變得多么的容易。

2.3創(chuàng)建模型

創(chuàng)建模型所需的所有圖層并將其連接在一起后,接下來(lái)必須定義模型。與Sequential API一樣,該模型是你可以概述、擬合、評(píng)估和使用做出預(yù)測(cè)。

Keras提供了一個(gè)Model類,你可以使用它從創(chuàng)建的圖層時(shí)創(chuàng)建模型。它要求你需要指定輸入和輸出層。例如:

  1. from keras.models import Model 
  2.  
  3. from keras.layers import Input 
  4.  
  5. from keras.layers import Dense 
  6.  
  7. visible = Input(shape=(2,)) 
  8.  
  9. hidden = Dense(2)(visible) 
  10.  
  11. model = Model(inputs=visible, outputs=hidden)  

既然現(xiàn)在我們知道了Keras功能API的所有關(guān)鍵部分,我們通過(guò)定義一套不同的模型實(shí)踐一下我們的學(xué)習(xí)成果。

以下每個(gè)示例都是可執(zhí)行的,并打印結(jié)構(gòu)并創(chuàng)建圖表。我建議為你自己的模型做這個(gè),這樣可以讓你清楚你的定義。

我希望這些示例可以為你在以后使用功能API定義自己的模型時(shí)提供了模板。

3.標(biāo)準(zhǔn)網(wǎng)絡(luò)模型

當(dāng)開(kāi)始使用功能API時(shí),***先了解一些關(guān)于標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)模型的定義。在本節(jié)中,我們將介紹定義一個(gè)簡(jiǎn)單的多層感知器,卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)。

這些例子將為以后理解更詳細(xì)的例子奠定基礎(chǔ)。

3.1多層感知器

在本節(jié)中,我們?yōu)槎M(jìn)制分類定義了一個(gè)多層Perceptron模型。該模型有10個(gè)輸入,3個(gè)隱藏層,10個(gè)神經(jīng)元,輸出層有1個(gè)輸出。在每個(gè)隱藏層中使用整流線性激活函數(shù),在輸出層使用S形激活函數(shù)進(jìn)行二進(jìn)制分類。

  1. # Multilayer Perceptron 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. visible = Input(shape=(10,)) 
  12.  
  13. hidden1 = Dense(10, activation='relu')(visible) 
  14.  
  15. hidden2 = Dense(20, activation='relu')(hidden1) 
  16.  
  17. hidden3 = Dense(10, activation='relu')(hidden2) 
  18.  
  19. output = Dense(1, activation='sigmoid')(hidden3) 
  20.  
  21. model = Model(inputs=visible, outputs=output
  22.  
  23. # summarize layers 
  24.  
  25. print(model.summary()) 
  26.  
  27. # plot graph 
  28.  
  29. plot_model(model, to_file='multilayer_perceptron_graph.png' 

運(yùn)行示例打印網(wǎng)絡(luò)的結(jié)構(gòu):

  1. _________________________________________________________________ 
  2. Layer (type)                 Output Shape              Param # 
  3. ================================================================= 
  4. input_1 (InputLayer)         (None, 10)                0 
  5. _________________________________________________________________ 
  6. dense_1 (Dense)              (None, 10)                110 
  7. _________________________________________________________________ 
  8. dense_2 (Dense)              (None, 20)                220 
  9. _________________________________________________________________ 
  10. dense_3 (Dense)              (None, 10)                210 
  11. _________________________________________________________________ 
  12. dense_4 (Dense)              (None, 1)                 11 
  13. ================================================================= 
  14. Total params: 551 
  15. Trainable params: 551 
  16. Non-trainable params: 0 
  17. _________________________________________________________________  

模型圖的創(chuàng)建并保存到文件:

 

3.2卷積神經(jīng)網(wǎng)絡(luò)

在本節(jié)中,我們將定義一個(gè)用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)。

該模型接收黑白64×64圖像作為輸入,然后兩個(gè)卷積層和匯集層的序列作為特征提取器,隨后是完全連接的層來(lái)解釋特征,并且輸出層是具有S形激活函數(shù)。

  1. # Convolutional Neural Network 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. from keras.layers.convolutional import Conv2D 
  12.  
  13. from keras.layers.pooling import MaxPooling2D 
  14.  
  15. visible = Input(shape=(64,64,1)) 
  16.  
  17. conv1 = Conv2D(32, kernel_size=4, activation='relu')(visible) 
  18.  
  19. pool1 = MaxPooling2D(pool_size=(2, 2))(conv1) 
  20.  
  21. conv2 = Conv2D(16, kernel_size=4, activation='relu')(pool1) 
  22.  
  23. pool2 = MaxPooling2D(pool_size=(2, 2))(conv2) 
  24.  
  25. hidden1 = Dense(10, activation='relu')(pool2) 
  26.  
  27. output = Dense(1, activation='sigmoid')(hidden1) 
  28.  
  29. model = Model(inputs=visible, outputs=output
  30.  
  31. # summarize layers 
  32.  
  33. print(model.summary()) 
  34.  
  35. # plot graph 
  36.  
  37. plot_model(model, to_file='convolutional_neural_network.png' 

運(yùn)行示例:

  1. _________________________________________________________________ 
  2.  
  3. Layer (type) Output Shape Param # 
  4.  
  5. ================================================================= 
  6.  
  7. input_1 (InputLayer) (None, 64, 64, 1) 0 
  8.  
  9. •••••• 
  10.  
  11. Total params: 8,933 
  12.  
  13. Trainable params: 8,933 
  14.  
  15. Non-trainable params: 0 
  16.  
  17. ________________________________________________________________  

模型圖的圖創(chuàng)建并保存到文件:

 

3.3循環(huán)神經(jīng)網(wǎng)絡(luò)

在本節(jié)中,我們將定義一個(gè)LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)用于序列分類。

該模型是100個(gè)時(shí)間步長(zhǎng)作為輸入,該模型具有單個(gè)LSTM隱藏層,用于從序列中提取特征,然后是完全連接的層以解釋LSTM輸出,隨后是用于進(jìn)行二進(jìn)制預(yù)測(cè)的輸出層。

  1. # Recurrent Neural Network 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. from keras.layers.recurrent import LSTM 
  12.  
  13. visible = Input(shape=(100,1)) 
  14.  
  15. hidden1 = LSTM(10)(visible) 
  16.  
  17. hidden2 = Dense(10, activation='relu')(hidden1) 
  18.  
  19. output = Dense(1, activation='sigmoid')(hidden2) 
  20.  
  21. model = Model(inputs=visible, outputs=output
  22.  
  23. # summarize layers 
  24.  
  25. print(model.summary()) 
  26.  
  27. # plot graph 
  28.  
  29. plot_model(model, to_file='recurrent_neural_network.png' 

運(yùn)行示例總結(jié)模型層。

  1. _________________________________________________________________ 
  2.  
  3. Layer (type) Output Shape Param # 
  4.  
  5. ================================================================= 
  6.  
  7. ••••••• 
  8.  
  9. ================================================================= 
  10.  
  11. Total params: 601 
  12.  
  13. Trainable params: 601 
  14.  
  15. Non-trainable params: 0 
  16.  
  17. _________________________________________________________________  

模型圖的創(chuàng)建并保存到文件:

 

4.共享層模型

多層可以共享一層的輸出。

例如,可能存在來(lái)自輸入的多個(gè)不同的特征提取層,或者用于解釋特征提取層輸出的多個(gè)層。

我們來(lái)看看這兩個(gè)例子。

4.1共享輸入層

在本節(jié)中,我們使用不同大小的內(nèi)核定義多個(gè)卷積層來(lái)解釋圖像輸入。

該模型輸入采用大小為64×64像素的黑白圖像。有兩個(gè)CNN特征提取子模型共享該輸入:***個(gè)內(nèi)核大小為4,第二個(gè)內(nèi)核大小為8。這些特征提取子模型的輸出被平坦化為向量,并連接成一個(gè)長(zhǎng)向量,并傳遞到完全連接的層,以便在最終輸出層之前進(jìn)行二進(jìn)制分類。

  1. # Shared Input Layer 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. from keras.layers import Flatten 
  12.  
  13. from keras.layers.convolutional import Conv2D 
  14.  
  15. from keras.layers.pooling import MaxPooling2D 
  16.  
  17. from keras.layers.merge import concatenate 
  18.  
  19. # input layer 
  20.  
  21. visible = Input(shape=(64,64,1)) 
  22.  
  23. first feature extractor 
  24.  
  25. conv1 = Conv2D(32, kernel_size=4, activation='relu')(visible) 
  26.  
  27. pool1 = MaxPooling2D(pool_size=(2, 2))(conv1) 
  28.  
  29. flat1 = Flatten()(pool1) 
  30.  
  31. second feature extractor 
  32.  
  33. conv2 = Conv2D(16, kernel_size=8, activation='relu')(visible) 
  34.  
  35. pool2 = MaxPooling2D(pool_size=(2, 2))(conv2) 
  36.  
  37. flat2 = Flatten()(pool2) 
  38.  
  39. # merge feature extractors 
  40.  
  41. merge = concatenate([flat1, flat2]) 
  42.  
  43. # interpretation layer 
  44.  
  45. hidden1 = Dense(10, activation='relu')(merge) 
  46.  
  47. # prediction output 
  48.  
  49. output = Dense(1, activation='sigmoid')(hidden1) 
  50.  
  51. model = Model(inputs=visible, outputs=output
  52.  
  53. # summarize layers 
  54.  
  55. print(model.summary()) 
  56.  
  57. # plot graph 
  58.  
  59. plot_model(model, to_file='shared_input_layer.png' 

運(yùn)行示例總結(jié)模型層。

  1. ___________________________________________________________________ 
  2.  
  3. Layer (type) Output Shape Param # Connected to 
  4.  
  5. =================================================================== 
  6.  
  7. ••••••••••••••••••••••• 
  8.  
  9. Total params: 415,045 
  10.  
  11. Trainable params: 415,045 
  12.  
  13. Non-trainable params: 0 
  14.  
  15. ___________________________________________________________________  

模型圖的被創(chuàng)建并保存到文件:

 

4.2共享特征提取層

在本節(jié)中,我們使用兩個(gè)并行子模型解釋LSTM特征提取器的輸出以進(jìn)行序列分類。

模型的輸入是一個(gè)特征為100的時(shí)間步長(zhǎng),具有10個(gè)存儲(chǔ)單元的LSTM層解釋該序列。***種解釋模式是淺層的單層完全連接層,第二種是深層的3層模型。兩個(gè)解釋模型的輸出都被連接成一個(gè)長(zhǎng)向量,傳遞給用于進(jìn)行二進(jìn)制預(yù)測(cè)的輸出層。

  1. # Shared Feature Extraction Layer 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. from keras.layers.recurrent import LSTM 
  12.  
  13. from keras.layers.merge import concatenate 
  14.  
  15. # define input 
  16.  
  17. visible = Input(shape=(100,1)) 
  18.  
  19. # feature extraction 
  20.  
  21. extract1 = LSTM(10)(visible) 
  22.  
  23. first interpretation model 
  24.  
  25. interp1 = Dense(10, activation='relu')(extract1) 
  26.  
  27. second interpretation model 
  28.  
  29. interp11 = Dense(10, activation='relu')(extract1) 
  30.  
  31. interp12 = Dense(20, activation='relu')(interp11) 
  32.  
  33. interp13 = Dense(10, activation='relu')(interp12) 
  34.  
  35. # merge interpretation 
  36.  
  37. merge = concatenate([interp1, interp13]) 
  38.  
  39. output 
  40.  
  41. output = Dense(1, activation='sigmoid')(merge) 
  42.  
  43. model = Model(inputs=visible, outputs=output
  44.  
  45. # summarize layers 
  46.  
  47. print(model.summary()) 
  48.  
  49. # plot graph 
  50.  
  51. plot_model(model, to_file='shared_feature_extractor.png' 

運(yùn)行示例總結(jié)模型層。

  1. ___________________________________________________________________ 
  2.  
  3. Layer (type) Output Shape Param # Connected to 
  4.  
  5. ••••••• 
  6.  
  7. Total params: 1,151 
  8.  
  9. Trainable params: 1,151 
  10.  
  11. Non-trainable params: 0 
  12.  
  13. ___________________________________________________________________  

模型圖被創(chuàng)建并保存到文件。

 

5.多個(gè)輸入和輸出模型

功能API也可用于開(kāi)發(fā)具有多個(gè)輸入的更復(fù)雜的模型,可能具有不同的模態(tài)。它也可以用于開(kāi)發(fā)產(chǎn)生多個(gè)輸出的模型。

我們將在本節(jié)中查看每個(gè)示例。

5.1多輸入模型

我們將開(kāi)發(fā)一個(gè)圖像分類模型,它將兩個(gè)版本的圖像作為輸入,每個(gè)版本的大小不同。具體是黑白64×64版,彩色32×32版。單獨(dú)的特征提取CNN模型在每個(gè)模型上運(yùn)行,然后將兩個(gè)模型的結(jié)果連接起來(lái)進(jìn)行解釋和最終預(yù)測(cè)。

請(qǐng)注意,在創(chuàng)建Model()實(shí)例時(shí),我們將兩個(gè)輸入圖層定義為數(shù)組。

  1. model = Model(inputs=[visible1, visible2], outputs=output

完整的示例如下所示。

  1. # Multiple Inputs 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. from keras.layers import Flatten 
  12.  
  13. from keras.layers.convolutional import Conv2D 
  14.  
  15. from keras.layers.pooling import MaxPooling2D 
  16.  
  17. from keras.layers.merge import concatenate 
  18.  
  19. first input model 
  20.  
  21. visible1 = Input(shape=(64,64,1)) 
  22.  
  23. conv11 = Conv2D(32, kernel_size=4, activation='relu')(visible1) 
  24.  
  25. pool11 = MaxPooling2D(pool_size=(2, 2))(conv11) 
  26.  
  27. conv12 = Conv2D(16, kernel_size=4, activation='relu')(pool11) 
  28.  
  29. pool12 = MaxPooling2D(pool_size=(2, 2))(conv12) 
  30.  
  31. flat1 = Flatten()(pool12) 
  32.  
  33. second input model 
  34.  
  35. visible2 = Input(shape=(32,32,3)) 
  36.  
  37. conv21 = Conv2D(32, kernel_size=4, activation='relu')(visible2) 
  38.  
  39. pool21 = MaxPooling2D(pool_size=(2, 2))(conv21) 
  40.  
  41. conv22 = Conv2D(16, kernel_size=4, activation='relu')(pool21) 
  42.  
  43. pool22 = MaxPooling2D(pool_size=(2, 2))(conv22) 
  44.  
  45. flat2 = Flatten()(pool22) 
  46.  
  47. # merge input models 
  48.  
  49. merge = concatenate([flat1, flat2]) 
  50.  
  51. # interpretation model 
  52.  
  53. hidden1 = Dense(10, activation='relu')(merge) 
  54.  
  55. hidden2 = Dense(10, activation='relu')(hidden1) 
  56.  
  57. output = Dense(1, activation='sigmoid')(hidden2) 
  58.  
  59. model = Model(inputs=[visible1, visible2], outputs=output
  60.  
  61. # summarize layers 
  62.  
  63. print(model.summary()) 
  64.  
  65. # plot graph 
  66.  
  67. plot_model(model, to_file='multiple_inputs.png' 

運(yùn)行示例:

  1. ___________________________________________________________________ 
  2.  
  3. Layer (type) Output Shape Param # Connected to 
  4.  
  5. ••••••••• 
  6.  
  7. input_1 (InputLayer) (None, 64, 64, 1) 0 
  8.  
  9. Total params: 49,699 
  10.  
  11. Trainable params: 49,699 
  12.  
  13. Non-trainable params: 0 
  14.  
  15. ___________________________________________________________________  

模型圖被創(chuàng)建并保存到文件。

 

5.2多輸出模型

在本節(jié)中,我們將開(kāi)發(fā)出一種可以進(jìn)行兩種不同類型預(yù)測(cè)的模型。給定一個(gè)特征的100個(gè)時(shí)間步長(zhǎng)的輸入序列,該模型將對(duì)序列進(jìn)行分類并輸出具有相同長(zhǎng)度的新序列。

LSTM層解釋輸入序列,并返回每個(gè)時(shí)間步長(zhǎng)的隱藏狀態(tài)。***個(gè)輸出模型創(chuàng)建一個(gè)堆棧的LSTM,解釋特征,并進(jìn)行二進(jìn)制預(yù)測(cè)。第二個(gè)輸出模型使用相同的輸出層對(duì)每個(gè)輸入時(shí)間步長(zhǎng)進(jìn)行實(shí)值預(yù)測(cè)。

  1. # Multiple Outputs 
  2.  
  3. from keras.utils import plot_model 
  4.  
  5. from keras.models import Model 
  6.  
  7. from keras.layers import Input 
  8.  
  9. from keras.layers import Dense 
  10.  
  11. from keras.layers.recurrent import LSTM 
  12.  
  13. from keras.layers.wrappers import TimeDistributed 
  14.  
  15. # input layer 
  16.  
  17. visible = Input(shape=(100,1)) 
  18.  
  19. # feature extraction 
  20.  
  21. extract = LSTM(10, return_sequences=True)(visible) 
  22.  
  23. # classification output 
  24.  
  25. class11 = LSTM(10)(extract) 
  26.  
  27. class12 = Dense(10, activation='relu')(class11) 
  28.  
  29. output1 = Dense(1, activation='sigmoid')(class12) 
  30.  
  31. sequence output 
  32.  
  33. output2 = TimeDistributed(Dense(1, activation='linear'))(extract) 
  34.  
  35. output 
  36.  
  37. model = Model(inputs=visible, outputs=[output1, output2]) 
  38.  
  39. # summarize layers 
  40.  
  41. print(model.summary()) 
  42.  
  43. # plot graph 
  44.  
  45. plot_model(model, to_file='multiple_outputs.png' 

運(yùn)行示例。

  1. ___________________________________________________________________ 
  2.  
  3. Layer (type) Output Shape Param # Connected to 
  4.  
  5. =================================================================== 
  6.  
  7. input_1 (InputLayer) (None, 100, 1) 0 
  8.  
  9. ___________________________________________________________________ 
  10.  
  11. ········ 
  12.  
  13. Total params: 1,452 
  14.  
  15. Trainable params: 1,452 
  16.  
  17. Non-trainable params: 0 
  18.  
  19. ___________________________________________________________________  

模型圖的創(chuàng)建并保存到文件:

 

 

6.***做法

在本節(jié)中,我給你一些提示,以便在定義自己的模型時(shí)充分利用功能性API。

  1. 一致的變量名。對(duì)輸入(可見(jiàn))和輸出層(輸出)使用相同的變量名稱,甚至可以使用隱藏層(hidden1,hidden2)。它將有助于正確地將事物聯(lián)系起來(lái)。
  2. 查看圖層圖。始終打印模型摘要并查看圖層輸出,以確保模型按預(yù)期連接在一起。
  3. 查看圖表。創(chuàng)建一個(gè)模型圖的情節(jié),并檢查它,以確保所有的東西都按照你的意圖放在一起。
  4. 命名圖層。你可以為查看模型圖的名稱和繪圖時(shí)使用的圖層分配名稱。例如:Dense(1,name =’hidden1’)。
  5. 單獨(dú)的子模型。考慮分開(kāi)子模型的發(fā)展,并將子模型結(jié)合在一起。 
責(zé)任編輯:龐桂玉 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2021-02-03 13:56:09

KerasAPI深度學(xué)習(xí)

2009-06-10 21:58:51

Javascript常

2022-10-14 13:47:06

2024-02-26 00:00:00

stage函數(shù)進(jìn)度

2025-04-25 07:10:00

GenAIAI工具人工智能

2024-12-11 08:20:57

設(shè)計(jì)模式源碼

2024-01-29 18:02:46

2024-01-24 13:14:00

Python內(nèi)置函數(shù)工具

2017-07-13 10:03:43

優(yōu)化算法Adam深度學(xué)習(xí)

2013-08-26 16:23:13

iOS應(yīng)用標(biāo)題移動(dòng)應(yīng)用標(biāo)題常用單詞移動(dòng)應(yīng)用推廣

2009-04-30 15:26:25

Visual Stud快捷鍵技巧

2024-11-08 13:34:24

2010-08-27 11:17:49

DIVCSS

2024-01-22 13:53:00

Linux環(huán)境變量

2025-06-16 08:22:23

2010-01-11 10:53:14

C++Builder

2023-07-08 23:02:14

快捷鍵IntelliJIDEA

2021-09-16 11:02:49

Python線程

2024-02-28 18:01:20

IDEAIDEtry

2010-05-25 09:19:13

MySQL管理工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 午夜资源 | 一区二区三区四区免费观看 | 91在线播| 国产精品中文字幕在线观看 | 91色综合 | a在线观看 | 久操av在线 | 亚州成人| 亚洲视频在线一区 | av在线一区二区三区 | 一级在线观看 | 99久久精品一区二区毛片吞精 | 西西裸体做爰视频 | 韩国毛片一区二区三区 | 欧美女优在线观看 | 日韩在线精品视频 | 欧美一区二区成人 | 在线看免费 | 理论片免费在线观看 | 久久av一区二区三区 | 成人性视频免费网站 | av一级在线观看 | 成人免费视频网址 | 天天操天天干天天透 | 欧洲一区二区三区 | 99re视频在线观看 | 四虎影视一区二区 | 亚洲精品日韩欧美 | 久久久久久国产精品免费 | 成人午夜视频在线观看 | 久久精品 | 99视频免费 | 久久专区 | 国产一区精品 | 国产高清久久 | 欧美精品一区二区三区在线播放 | 亚洲一区影院 | 操久久 | 91网站在线观看视频 | 国产精品美女一区二区 | 免费激情网站 |