For compatibility purposes, when invoked in TF2 where the outermost context is
eager mode, this API will check if there is a suitable TF2 summary writer
context available, and if so will forward this call to that writer instead. A
"suitable" writer context means that the writer is set as the default writer,
and there is an associated non-empty value for step (see
tf.summary.SummaryWriter.as_default, tf.summary.experimental.set_step or
alternatively tf.compat.v1.train.create_global_step). For the forwarded
call, the arguments here will be passed to the TF2 implementation of
tf.summary.scalar, and the return value will be an empty bytestring tensor,
to avoid duplicate summary writing. This forwarding is best-effort and not all
arguments will be preserved.
[null,null,["Last updated 2024-04-26 UTC."],[],[],null,["# tf.compat.v1.summary.scalar\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/summary/summary.py#L61-L138) |\n\nOutputs a `Summary` protocol buffer containing a single scalar value. \n\n tf.compat.v1.summary.scalar(\n name, tensor, collections=None, family=None\n )\n\n\u003cbr /\u003e\n\nMigrate to TF2\n--------------\n\n\u003cbr /\u003e\n\n| **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.\n\nFor compatibility purposes, when invoked in TF2 where the outermost context is\neager mode, this API will check if there is a suitable TF2 summary writer\ncontext available, and if so will forward this call to that writer instead. A\n\"suitable\" writer context means that the writer is set as the default writer,\nand there is an associated non-empty value for `step` (see\n[`tf.summary.SummaryWriter.as_default`](../../../../tf/summary/SummaryWriter#as_default), [`tf.summary.experimental.set_step`](../../../../tf/summary/experimental/set_step) or\nalternatively [`tf.compat.v1.train.create_global_step`](../../../../tf/compat/v1/train/create_global_step)). For the forwarded\ncall, the arguments here will be passed to the TF2 implementation of\n[`tf.summary.scalar`](../../../../tf/summary/scalar), and the return value will be an empty bytestring tensor,\nto avoid duplicate summary writing. This forwarding is best-effort and not all\narguments will be preserved.\n\nTo migrate to TF2, please use [`tf.summary.scalar`](../../../../tf/summary/scalar) instead. Please check\n[Migrating tf.summary usage to\nTF 2.0](https://www.tensorflow.org/tensorboard/migrate#in_tf_1x) for concrete\nsteps for migration. [`tf.summary.scalar`](../../../../tf/summary/scalar) can also log training metrics in\nKeras, you can check [Logging training metrics in\nKeras](https://www.tensorflow.org/tensorboard/scalars_and_keras) for details.\n\n#### How to Map Arguments\n\n| TF1 Arg Name | TF2 Arg Name | Note |\n|---------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `name` | `name` | - |\n| `tensor` | `data` | - |\n| - | `step` | Explicit int64-castable monotonic step value. If omitted, this defaults to [`tf.summary.experimental.get_step()`](../../../../tf/summary/experimental/get_step). |\n| `collections` | Not Supported | - |\n| `family` | Removed | Please use [`tf.name_scope`](../../../../tf/name_scope) instead to manage summary name prefix. |\n| - | `description` | Optional long-form `str` description for the summary. Markdown is supported. Defaults to empty. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nDescription\n-----------\n\n### Used in the notebooks\n\n| Used in the tutorials |\n|------------------------------------------------------------------------------------------|\n| - [Migrating tf.summary usage to TF 2.x](https://www.tensorflow.org/tensorboard/migrate) |\n\nThe generated Summary has a Tensor.proto containing the input Tensor.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------------|---------------------------------------------------------------------------------------------------------------------------------|\n| `name` | A name for the generated node. Will also serve as the series name in TensorBoard. |\n| `tensor` | A real numeric Tensor containing a single value. |\n| `collections` | Optional list of graph collections keys. The new summary op is added to these collections. Defaults to `[GraphKeys.SUMMARIES]`. |\n| `family` | Optional; if provided, used as the prefix of the summary tag name, which controls the tab name used for display on Tensorboard. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A scalar `Tensor` of type `string`. Which contains a `Summary` protobuf. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|----------------------------------------|\n| `ValueError` | If tensor has the wrong shape or type. |\n\n\u003cbr /\u003e"]]