digraph ImageBatchNormForkGragh {
  subgraph cluster_before {
    Prev [label="...", shape=plaintext];
    Rnn [label="rnn_op", shape=box];
    BatchNorm [label="batch_norm_op", shape=box];
    Fc [label="fc_op", shape=box];
    After [label="...", shape=plaintext];
    Prev -> Rnn -> BatchNorm -> Fc -> After;
    label="original";
  }

  subgraph cluster_after {
    Prev2 [label="...", shape=plaintext];
    Rnn2 [label="rnn_op", shape=box];
    BatchNorm2_1 [label="train_batch_norm_op", shape=box];
    BatchNorm2_2 [label="infer_batch_norm_op", shape=box];
    Fc2_1 [label="fc_op", shape=box];
    Fc2_2 [label="fc_op", shape=box];
    After2_1 [label="...", shape=plaintext];
    After2_2 [label="...", shape=plaintext];
    Prev2 -> Rnn2 -> BatchNorm2_1 -> Fc2_1 -> After2_1;
    Rnn2 -> BatchNorm2_2 ->Fc2_2 ->After2_2
    label="forked";
  }
}
