项目:Draw_Convnet
作者:Gavin
GitHub:https://github.com/yu4u/convnet-drawer
简介:这个工具简单直接,纯用python代码,核心工具是matplotlib,挺适合论文使用。
安装依赖
# python-pptx 
pip install python-pptx


#Keras 
pip install keras


# matplotlib 
pip install matplotlib

使用DEMO
from
 convnet_drawer 
import
 Model, Conv2D, MaxPooling2D, Flatten, Dense

from
 pptx_util 
import
 save_model_to_pptx

from
 matplotlib_util 
import
 save_model_to_file


model = Model(input_shape=(
227
227
3
))

model.add(Conv2D(
96
, (
11
11
), (
4
4
)))

model.add(MaxPooling2D((
3
3
), strides=(
2
2
)))

model.add(Conv2D(
256
, (
5
5
), padding=
"same"
))

model.add(MaxPooling2D((
3
3
), strides=(
2
2
)))

model.add(Conv2D(
384
, (
3
3
), padding=
"same"
))

model.add(Conv2D(
384
, (
3
3
), padding=
"same"
))

model.add(Conv2D(
256
, (
3
3
), padding=
"same"
))

model.add(MaxPooling2D((
3
3
), strides=(
2
2
)))

model.add(Flatten())

model.add(Dense(
4096
))

model.add(Dense(
4096
))

model.add(Dense(
1000
))


# save as svg file
model.save_fig(
"example.svg"
)


# save as pptx file
save_model_to_pptx(model, 
"example.pptx"
)


# save via matplotlib
save_model_to_file(model, 
"example.pdf"
)
输出结果
支持的操作
# Conv2D
Conv2D(filters=
None
, kernel_size=
None
, strides=(
1
1
), padding=
"valid"
)

# e.g. Conv2D(96, (11, 11), (4, 4)))

# Deconv2D
Deconv2D(filters=
None
, kernel_size=
None
, strides=(
1
1
), padding=
"valid"
)

# e.g. Deconv2D(256, (3, 3), (2, 2)))

# MaxPooling2D, AveragePooling2D
MaxPooling2D(pool_size=(
2
2
), strides=
None
, padding=
"valid"
)

# e.g. MaxPooling2D((3, 3), strides=(2, 2))

# GlobalAveragePooling2D
GlobalAveragePooling2D()


# Flatten
Flatten()


# Dense
Dense(units)

# e.g. Dense(4096)
推荐阅读
喜欢就点击“在看”吧!
继续阅读
阅读原文