coding: utf-8
In[1]:
pip install pydot
pip install graphviz
pip install pydot-ng
2、按照此链接https://graphviz.gitlab.io/download/#windows
下载
2.47.1 EXE installer for Windows 10 (64-bit): stable_windows_10_cmake_Release_x64_graphviz-install-2.47.1-win64.exe
3、安装添加环境变量
重启
#Python导入模块的方法有两种:import module 和 from module import,区别是前者所有导入的东西使用时需加上模块名的限定
from tensorflow.keras.layers import Input,Conv2D,MaxPool2D,concatenate
from tensorflow.keras.models import Model
from tensorflow.keras.utils import plot_model
In[2]:
定义模型输入,不含batchsize
inputs = Input(shape=(28,28,192))
注意函数式模型的特点,Conv2D后面的(inputs)表示把inputs信号输入到Conv2D中计算
tower_1 = Conv2D(filters=64,kernel_size=(1,1),strides=(1,1),padding=‘same’,activation=‘relu’)(inputs)
注意函数式模型的特点,Conv2D后面的(inputs)表示把inputs信号输入到Conv2D中计算
tower_2 = Conv2D(filters=96,kernel_size=(1,1),strides=(1,1),padding=‘same’,activation=‘relu’)(inputs)
注意函数式模型的特点,Conv2D后面的(tower_2)表示把tower_2信号输入到Conv2D中计算
tower_2 = Conv2D(filters=128,kernel_size=(3,3),strides=(1,1),padding=‘same’,activation=‘relu’)(tower_2)
注意函数式模型的特点,Conv2D后面的(inputs)表示把inputs信号输入到Conv2D中计算
tower_3 = Conv2D(filters=16,kernel_size=(1,1),strides=(1,1),padding=‘same’,activation=‘relu’)(inputs)
注意函数式模型的特点,Conv2D后面的(tower_3)表示把tower_3信号输入到Conv2D中计算
tower_3 = Conv2D(filters=32,kernel_size=(5,5),strides=(1,1),padding=‘same’,activation=‘relu’)(tower_3)
注意函数式模型的特点,MaxPool2D后面的(inputs)表示把inputs信号输入到MaxPool2D中计算
pooling = MaxPool2D(pool_size=(3, 3),strides=(1, 1),padding=‘same’)(inputs)
注意函数式模型的特点,Conv2D后面的(pooling)表示把pooling信号输入到Conv2D中计算
pooling = Conv2D(filters=32,kernel_size=(1,1),strides=(1,1),padding=‘same’,activation=‘relu’)(pooling)
concatenate合并4个信号,axis=3表示根据channel进行合并,得到模型的输出
outputs = concatenate([tower_1,tower_2,tower_3,pooling],axis=3)
定义模型,设置输入和输出信号
model = Model(inputs=inputs, outputs=outputs)
查看模型概要
model.summary()
plot_model(model=model, to_file=‘model.png’, show_shapes=True, dpi=200)