Plot 如何正确地用Graphviz绘制剩余神经网络块?
我试图创建一个图表,显示带有剩余连接的ConvNet体系结构。我使用下面的图形定义Plot 如何正确地用Graphviz绘制剩余神经网络块?,plot,neural-network,graphviz,Plot,Neural Network,Graphviz,我试图创建一个图表,显示带有剩余连接的ConvNet体系结构。我使用下面的图形定义 digraph Model { node [shape=box]; input [label="Input"]; n1 [label="Conv2d(256, BN, ReLU)"]; n2 [label="Conv2D(256, BN, ReLU)"]; n3 [label="Conv2D(128, BN, ReLU)"]; n4 [label="Conv2D(
digraph Model {
node [shape=box];
input [label="Input"];
n1 [label="Conv2d(256, BN, ReLU)"];
n2 [label="Conv2D(256, BN, ReLU)"];
n3 [label="Conv2D(128, BN, ReLU)"];
n4 [label="Conv2D(128, BN, ReLU)"];
n5 [label="GlobalPool2d"];
n6 [label="Flatten"];
top [label="Dense(1, Sigmoid)"];
add1 [label="Add"];
add2 [label="Add"];
input -> n1;
n1 -> n2;
n1 -> add1;
n2 -> add1;
add1 -> n3;
n3 -> n4;
n3 -> add2;
n4 -> add2;
add2 -> n5;
n5 -> n6 -> top;
}
生成的绘图如下图所示
问题是剩余连接将卷积层向左移动。我想知道是否有可能通过垂直轴对齐这些盒子?所以所有的层都在同一条垂直线上,剩余的连接都在周围。我尝试过使用rank
和rankdir
进行一些操作,但没有任何运气
你能帮我吗?或者可以指向文档的相关部分,在那里我可以阅读如何正确地执行所需操作?权重属性将执行所需操作。 将两行更改为:
n1 -> add1 [weight=0];
n3 -> add2 [weight=0];
您将得到以下结果: