# tf.compat.v1.summary.merge_all

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/summary/summary.py#L696-L763) |

Merges all summaries collected in the default graph.

    tf.compat.v1.summary.merge_all(
        key=_ops.GraphKeys.SUMMARIES, scope=None, name=None
    )

<br />

## Migrate to TF2

<br />

> [!CAUTION]
> **Caution:** This API was designed for TensorFlow v1. Continue reading for details on how to migrate from this API to a native TensorFlow v2 equivalent. See the [TensorFlow v1 to TensorFlow v2 migration guide](https://www.tensorflow.org/guide/migrate) for instructions on how to migrate the rest of your code.

This API is not compatible with eager execution or [`tf.function`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/function). To migrate
to TF2, this API can be omitted entirely, because in TF2 individual summary
ops, like [`tf.summary.scalar()`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/summary/scalar), write directly to the default summary writer
if one is active. Thus, it's not necessary to merge summaries or to manually
add the resulting merged summary output to the writer. See the usage example
shown below.

For a comprehensive [`tf.summary`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/summary) migration guide, please follow
[Migrating tf.summary usage to
TF 2.0](https://www.tensorflow.org/tensorboard/migrate#in_tf_1x).

#### TF1 \& TF2 Usage Example

TF1:

    dist = tf.compat.v1.placeholder(tf.float32, [100])
    tf.compat.v1.summary.histogram(name="distribution", values=dist)
    writer = tf.compat.v1.summary.FileWriter("/tmp/tf1_summary_example")
    summaries = tf.compat.v1.summary.merge_all()

    sess = tf.compat.v1.Session()
    for step in range(100):
      mean_moving_normal = np.random.normal(loc=step, scale=1, size=[100])
      summ = sess.run(summaries, feed_dict={dist: mean_moving_normal})
      writer.add_summary(summ, global_step=step)

TF2:

    writer = tf.summary.create_file_writer("/tmp/tf2_summary_example")
    for step in range(100):
      mean_moving_normal = np.random.normal(loc=step, scale=1, size=[100])
      with writer.as_default(step=step):
        tf.summary.histogram(name='distribution', data=mean_moving_normal)

<br />

<br />

## Description

<br />

<br />

<br />

| ## Args ||
|---|---|
| `key` | `GraphKey` used to collect the summaries. Defaults to `GraphKeys.SUMMARIES`. |
| `scope` | Optional scope used to filter the summary ops, using `re.match`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| If no summaries were collected, returns None. Otherwise returns a scalar `Tensor` of type `string` containing the serialized `Summary` protocol buffer resulting from the merging. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `RuntimeError` | If called with eager execution enabled. |

<br />