Python3.6 + tensorflow-gpu1.15.0 环境下调用plot_model实现模型可视化图【已解决】

⭐Keras提供了一个 plot_model() 函数用于可视化模型的各个层,该函数通过以下语句导入:

from keras.utils.vis_utils import plot_model

⭐需要安装:
(1)pydotplus库
(2)pydot-ng库
(3)graphviz库
(4)graphviz软件(版本 2.38,已上传资源需要自取)

pydot                     1.4.1            py36haa95532_0    defaults
pydot-ng                  2.0.0                    pypi_0    pypi
pydotplus                 2.0.2                    pypi_0    pypi
graphviz                  2.38.0                        4    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

⭐安装完 graphviz 软件后需要配置环境变量,即将

C:\Program Files (x86)\Graphviz2.38\bin

配置到系统变量里的Path中。
⭐将 keras.untils.vis_utils 中的所有pydot改为pydotplus

# 查找
Ctrl+F
# 替换
Ctrl+Shift+R

⭐示例

import keras
from keras import layers
from keras.datasets import imdb
from keras.preprocessing import sequence
from keras.utils import plot_model

# 作为特征的单词个数
max_features = 2000
# 超过500长度之后的截断文本
max_len = 500

(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
x_train = sequence.pad_sequences(x_train, maxlen=max_len)
x_test = sequence.pad_sequences(x_test, maxlen=max_len)

model = keras.models.Sequential()
model.add(layers.Embedding(max_features,
                           output_dim=128,
                           embeddings_initializer='uniform',
                           input_length=max_len, name='embed'))
model.add(layers.Conv1D(32, 7, activation='relu'))
model.add(layers.MaxPooling1D(pool_size=5))
model.add(layers.Conv1D(32, 7, activation='relu'))
model.add(layers.GlobalMaxPooling1D())
model.add(layers.Dense(1))
model.summary()
# model.compile(optimizer='rmsprop',
#               loss='binary_crossentropy',
#               metrics=['acc'])
plot_model(model, to_file="file\\model.png", show_shapes=True)

IMDB

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值