首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用keras.utils.plot_model构建的Tensorflow模型图不显示连接

使用keras.utils.plot_model构建的Tensorflow模型图不显示连接
EN

Stack Overflow用户
提问于 2021-02-11 21:29:28
回答 1查看 134关注 0票数 2

我试图构建一个密集的块,所以我写了一个简单的例子,如下所示:

代码语言:javascript
运行
复制
input_layer = Input(shape=(HEIGHT, WIDTH, 3))

layer1 = Conv2D(1, (3, 3), activation="relu", padding="same")(input_layer)
layer2 = Conv2D(2, (3, 3), activation="relu", padding="same")(layer1)
layer3 = Conv2D(3, (3, 3), activation="relu", padding="same")(layer2)
layer4 = Conv2D(4, (3, 3), activation="relu", padding="same")(layer3)

concatenate([layer3, layer2])

concatenate([layer4, layer3])
concatenate([layer4, layer2])

model = keras.Model(inputs=input_layer, outputs=layer4, name="Dense_block")
keras.utils.plot_model(model, "info.png", show_shapes=True)

但是我得到的图不包含任何连接:

可能是我的代码有问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-11 21:46:00

由于使用outputs=layer4调用model = keras.Model(inputs=input_layer, outputs=layer4, name="Dense_block"),第1层到第4层已连接,并且是模型的一部分。您的连接操作未连接。

您可以通过定义一个新的层来修复这个问题,例如layer5 = concatenate([layer3, layer2]),并在您的model语句中将该层传递给outputs

对于连接本身,我建议您使用Keras的连接层:tf.keras.layers.ConcatenateReference here.

代码语言:javascript
运行
复制
layer5 = tf.keras.layers.Concatenate()([layer3, layer2])
model = keras.Model(inputs=input_layer, outputs=layer5, name="Dense_block")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66155705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档