def __init__(self, *args, **kwargs):
        super(CustomScalarsPluginTest, self).__init__(*args, **kwargs)
        self.logdir = os.path.join(self.get_temp_dir(), 'logdir')
        os.makedirs(self.logdir)

        self.logdir_layout = layout_pb2.Layout(category=[
            layout_pb2.Category(title='cross entropy',
                                chart=[
                                    layout_pb2.Chart(title='cross entropy',
                                                     tag=[r'cross entropy']),
                                ],
                                closed=True)
        ])
        self.foo_layout = layout_pb2.Layout(category=[
            layout_pb2.Category(
                title='mean biases',
                chart=[
                    layout_pb2.Chart(
                        title='mean layer biases',
                        tag=[r'mean/layer0/biases', r'mean/layer1/biases'])
                ]),
            layout_pb2.Category(title='std weights',
                                chart=[
                                    layout_pb2.Chart(
                                        title='stddev layer weights',
                                        tag=[r'stddev/layer\d+/weights'])
                                ]),
            # A category with this name is also present in a layout for a
            # different run (the logdir run)
            layout_pb2.Category(title='cross entropy',
                                chart=[
                                    layout_pb2.Chart(title='cross entropy 2',
                                                     tag=[r'cross entropy 2']),
                                ])
        ])

        # Generate test data.
        with tf.summary.FileWriter(os.path.join(self.logdir, 'foo')) as writer:
            writer.add_summary(summary.pb(self.foo_layout))
            for step in range(4):
                writer.add_summary(scalar_summary.pb('squares', step * step),
                                   step)

        with tf.summary.FileWriter(os.path.join(self.logdir, 'bar')) as writer:
            for step in range(3):
                writer.add_summary(scalar_summary.pb('increments', step + 1),
                                   step)

        # The '.' run lacks scalar data but has a layout.
        with tf.summary.FileWriter(self.logdir) as writer:
            writer.add_summary(summary.pb(self.logdir_layout))

        self.plugin = self.createPlugin(self.logdir)
    def testIsNotActiveDueToNoScalarsData(self):
        # Generate a directory with a layout but no scalars data.
        directory = os.path.join(self.logdir, "no_scalars")
        with test_util.FileWriterCache.get(directory) as writer:
            writer.add_summary(summary.pb(self.logdir_layout))

        local_plugin = self.createPlugin(directory)
        self.assertFalse(local_plugin.is_active())
  def testIsNotActiveDueToNoScalarsData(self):
    # Generate a directory with a layout but no scalars data.
    directory = os.path.join(self.logdir, 'no_scalars')
    with tf.summary.FileWriter(directory) as writer:
      writer.add_summary(summary.pb(self.logdir_layout))

    local_plugin = self.createPlugin(directory)
    self.assertFalse(local_plugin.is_active())
示例#4
0
def create_layout_summary():
    return cs_summary.pb(
        layout_pb2.Layout(category=[
            layout_pb2.Category(
                title="losses",
                chart=[
                    layout_pb2.Chart(
                        title="losses",
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r"loss(?!.*margin.*)"], ),
                    ),
                    layout_pb2.Chart(
                        title="baz",
                        margin=layout_pb2.MarginChartContent(series=[
                            layout_pb2.MarginChartContent.Series(
                                value="loss/baz",
                                lower="loss/baz_lower",
                                upper="loss/baz_upper",
                            ),
                        ], ),
                    ),
                ],
            ),
            layout_pb2.Category(
                title="trig functions",
                chart=[
                    layout_pb2.Chart(
                        title="wave trig functions",
                        multiline=layout_pb2.MultilineChartContent(tag=[
                            r"trigFunctions/cosine",
                            r"trigFunctions/sine",
                        ], ),
                    ),
                    # The range of tangent is different. Give it its own chart.
                    layout_pb2.Chart(
                        title="tan",
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r"trigFunctions/tangent"], ),
                    ),
                ],
                # This category we care less about. Make it initially closed.
                closed=True,
            ),
        ]))
    def __init__(self, *args, **kwargs):
        super(CustomScalarsPluginTest, self).__init__(*args, **kwargs)
        self.logdir = os.path.join(self.get_temp_dir(), "logdir")
        os.makedirs(self.logdir)

        self.logdir_layout = layout_pb2.Layout(category=[
            layout_pb2.Category(
                title="cross entropy",
                chart=[
                    layout_pb2.Chart(
                        title="cross entropy",
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r"cross entropy"], ),
                    ),
                ],
                closed=True,
            )
        ])
        self.foo_layout = layout_pb2.Layout(category=[
            layout_pb2.Category(
                title="mean biases",
                chart=[
                    layout_pb2.Chart(
                        title="mean layer biases",
                        multiline=layout_pb2.MultilineChartContent(tag=[
                            r"mean/layer0/biases",
                            r"mean/layer1/biases",
                        ], ),
                    ),
                ],
            ),
            layout_pb2.Category(
                title="std weights",
                chart=[
                    layout_pb2.Chart(
                        title="stddev layer weights",
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r"stddev/layer\d+/weights"], ),
                    ),
                ],
            ),
            # A category with this name is also present in a layout for a
            # different run (the logdir run) and also contains a duplicate chart
            layout_pb2.Category(
                title="cross entropy",
                chart=[
                    layout_pb2.Chart(
                        title="cross entropy margin chart",
                        margin=layout_pb2.MarginChartContent(series=[
                            layout_pb2.MarginChartContent.Series(
                                value="cross entropy",
                                lower="cross entropy lower",
                                upper="cross entropy upper",
                            ),
                        ], ),
                    ),
                    layout_pb2.Chart(
                        title="cross entropy",
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r"cross entropy"], ),
                    ),
                ],
            ),
        ])

        # Generate test data.
        with test_util.FileWriterCache.get(os.path.join(self.logdir,
                                                        "foo")) as writer:
            writer.add_summary(
                test_util.ensure_tb_summary_proto(summary.pb(self.foo_layout)))
            for step in range(4):
                writer.add_summary(
                    test_util.ensure_tb_summary_proto(
                        scalar_summary.pb("squares", step * step)),
                    step,
                )

        with test_util.FileWriterCache.get(os.path.join(self.logdir,
                                                        "bar")) as writer:
            for step in range(3):
                writer.add_summary(
                    test_util.ensure_tb_summary_proto(
                        scalar_summary.pb("increments", step + 1)),
                    step,
                )

        # The '.' run lacks scalar data but has a layout.
        with test_util.FileWriterCache.get(self.logdir) as writer:
            writer.add_summary(
                test_util.ensure_tb_summary_proto(
                    summary.pb(self.logdir_layout)))

        self.plugin = self.createPlugin(self.logdir)
示例#6
0
    def __init__(self, *args, **kwargs):
        super(CustomScalarsPluginTest, self).__init__(*args, **kwargs)
        self.logdir = os.path.join(self.get_temp_dir(), 'logdir')
        os.makedirs(self.logdir)

        self.logdir_layout = layout_pb2.Layout(category=[
            layout_pb2.Category(
                title='cross entropy',
                chart=[
                    layout_pb2.Chart(
                        title='cross entropy',
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r'cross entropy'], )),
                ],
                closed=True)
        ])
        self.foo_layout = layout_pb2.Layout(category=[
            layout_pb2.Category(
                title='mean biases',
                chart=[
                    layout_pb2.Chart(
                        title='mean layer biases',
                        multiline=layout_pb2.MultilineChartContent(tag=[
                            r'mean/layer0/biases', r'mean/layer1/biases'
                        ], )),
                ]),
            layout_pb2.Category(
                title='std weights',
                chart=[
                    layout_pb2.Chart(
                        title='stddev layer weights',
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r'stddev/layer\d+/weights'], )),
                ]),
            # A category with this name is also present in a layout for a
            # different run (the logdir run) and also contains a duplicate chart
            layout_pb2.Category(
                title='cross entropy',
                chart=[
                    layout_pb2.Chart(
                        title='cross entropy margin chart',
                        margin=layout_pb2.MarginChartContent(series=[
                            layout_pb2.MarginChartContent.Series(
                                value='cross entropy',
                                lower='cross entropy lower',
                                upper='cross entropy upper'),
                        ], )),
                    layout_pb2.Chart(
                        title='cross entropy',
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r'cross entropy'], )),
                ]),
        ])

        # Generate test data.
        with test_util.FileWriterCache.get(os.path.join(self.logdir,
                                                        'foo')) as writer:
            writer.add_summary(summary.pb(self.foo_layout))
            for step in range(4):
                writer.add_summary(scalar_summary.pb('squares', step * step),
                                   step)

        with test_util.FileWriterCache.get(os.path.join(self.logdir,
                                                        'bar')) as writer:
            for step in range(3):
                writer.add_summary(scalar_summary.pb('increments', step + 1),
                                   step)

        # The '.' run lacks scalar data but has a layout.
        with test_util.FileWriterCache.get(self.logdir) as writer:
            writer.add_summary(summary.pb(self.logdir_layout))

        self.plugin = self.createPlugin(self.logdir)
  def __init__(self, *args, **kwargs):
    super(CustomScalarsPluginTest, self).__init__(*args, **kwargs)
    self.logdir = os.path.join(self.get_temp_dir(), 'logdir')
    os.makedirs(self.logdir)

    self.logdir_layout = layout_pb2.Layout(
        category=[
            layout_pb2.Category(
                title='cross entropy',
                chart=[
                    layout_pb2.Chart(
                        title='cross entropy',
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r'cross entropy'],
                        )),
                ],
                closed=True)
            ]
    )
    self.foo_layout = layout_pb2.Layout(
        category=[
            layout_pb2.Category(
                title='mean biases',
                chart=[
                    layout_pb2.Chart(
                        title='mean layer biases',
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r'mean/layer0/biases', r'mean/layer1/biases'],
                        )),
                ]
            ),
            layout_pb2.Category(
                title='std weights',
                chart=[
                    layout_pb2.Chart(
                        title='stddev layer weights',
                        multiline=layout_pb2.MultilineChartContent(
                            tag=[r'stddev/layer\d+/weights'],
                        )),
                ]
            ),
            # A category with this name is also present in a layout for a
            # different run (the logdir run)
            layout_pb2.Category(
                title='cross entropy',
                chart=[
                    layout_pb2.Chart(
                        title='cross entropy margin chart',
                        margin=layout_pb2.MarginChartContent(
                            series=[
                                layout_pb2.MarginChartContent.Series(
                                    value='cross entropy',
                                    lower='cross entropy lower',
                                    upper='cross entropy upper'),
                            ],
                        )),
                ]
            ),
        ]
    )

    # Generate test data.
    with tf.summary.FileWriter(os.path.join(self.logdir, 'foo')) as writer:
      writer.add_summary(summary.pb(self.foo_layout))
      for step in range(4):
        writer.add_summary(scalar_summary.pb('squares', step * step), step)

    with tf.summary.FileWriter(os.path.join(self.logdir, 'bar')) as writer:
      for step in range(3):
        writer.add_summary(scalar_summary.pb('increments', step + 1), step)

    # The '.' run lacks scalar data but has a layout.
    with tf.summary.FileWriter(self.logdir) as writer:
      writer.add_summary(summary.pb(self.logdir_layout))

    self.plugin = self.createPlugin(self.logdir)