keras繪製網路結構 配置 plot model

2021-10-05 12:53:04 字數 2872 閱讀 4526

keras繪製網路結構的**如下:

from keras.utils.vis_utils import plot_model..

.plot_model(model, to_file=

"model.png"

, show_shapes=

true

, show_layer_names=

false

, rankdir=

'tb'

)

第一次執行這個**時會報錯,這時我們需要兩個包pydotplusgrahviz

網上很多教程是安裝pydot,這個包在python3.5之後就已經不能使用了,如果繼續安裝的是pydot,即使將grahviz按如下步驟安裝完成了之後,還是會繼續爆出oserror: `pydot` failed to call graphviz.please install graphviz錯誤。

在命令列中輸入以下指令即可完成安裝。

將以上兩步安裝完成後執行附錄的程式,會繼續報出如下的錯誤:

此時單獨開啟圖中錯誤處標記的檔案,然後將檔案中的pydot都替換成pydotplus,到此大功告成!!

結果如下:

測試**如下:

import numpy as np

from keras.datasets import mnist

from keras.utils import np_utils

from keras.models import sequential

from keras.layers import dense, dropout, convolution2d, maxpooling2d, flatten

from keras.optimizers import adam

from keras.utils.vis_utils import plot_model

import matplotlib.pyplot as plt

(x_train, y_train)

,(x_test, y_test)

= mnist.load_data(

)x_train = x_train.reshape(-1

,28,28

,1)/

255.0

x_test = x_test.reshape(-1

,28,28

,1)/

255.0

y_train = np_utils.to_categorical(y_train, num_classes=10)

y_test = np_utils.to_categorical(y_test, num_classes=10)

model = sequential(

)model.add(convolution2d(

input_shape=(28

,28,1

),filters=32,

kernel_size=5,

strides=1,

padding=

'same'

, activation=

'relu'

, name=

'conv1'))

model.add(maxpooling2d(

pool_size=2,

strides=2,

padding=

'same'

, name=

'pool1'))

model.add(convolution2d(64,

5,strides=

1, padding=

'same'

, activation=

'relu'

, name=

'conv2'))

model.add(maxpooling2d(2,

2,'same'

, name=

'pool2'))

model.add(flatten())

model.add(dense(

1024

, activation=

'relu'))

model.add(dropout(

0.5)

)model.add(dense(

10, activation=

'softmax'))

plot_model(model, to_file=

"model.png"

, show_shapes=

true

, show_layer_names=

false

, rankdir=

'tb'

)plt.figure(1)

img = plt.imread(

"model.png"

)plt.imshow(img)

plt.axis(

'off'

)plt.show(

)

Keras搭建神經網路 網路結構

layer.get weights 用於返回層的權重 layer.set weights weights 用於從numpy array中將權重載入到該層中,要求numpy array的形狀與layer.get weights 返回的形狀相同 layer.get config 用於返回當前層配置資訊的...

Keras網路結構視覺化工具

keras的utils包裡帶了乙個vis utils元件 2.0.2版本 該元件應該就是早先版本的keras當中的visualize utils元件。利用該元件,可以很輕鬆地用一行 將已建立神經網路模型的示意圖輸出到一張。例如,乙個簡單的多層前饋網路模型,可以按照如下模式輸出 雖然不是特別詳細,不過...

c s網路結構

採用c s 客戶端和服務端模式進行檔案和命令資料的傳輸,以及資料的交換。c s 和b s p2p等多種技術想結合。一,cs 網路的實現 採用傳統的客戶端和服務端模式,用tcp ip 協議進行資料的互動和傳遞。二,cs網路開發 模仿著名的灰鴿子軟體,灰鴿子的到來,給網路世界,帶來了新的活力,給人們帶來...