MCPcopy Index your code
hub / github.com/Turing-Project/WriteGPT / ReportMgr

Class ReportMgr

LanguageNetwork/BERT/models/reporter.py:103–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101
102
103class ReportMgr(ReportMgrBase):
104 def __init__(self, report_every, start_time=-1., tensorboard_writer=None):
105 """
106 A report manager that writes statistics on standard output as well as
107 (optionally) TensorBoard
108
109 Args:
110 report_every(int): Report status every this many sentences
111 tensorboard_writer(:obj:`tensorboard.SummaryWriter`):
112 The TensorBoard Summary writer to use or None
113 """
114 super(ReportMgr, self).__init__(report_every, start_time)
115 self.tensorboard_writer = tensorboard_writer
116
117 def maybe_log_tensorboard(self, stats, prefix, learning_rate, step):
118 if self.tensorboard_writer is not None:
119 stats.log_tensorboard(
120 prefix, self.tensorboard_writer, learning_rate, step)
121
122 def _report_training(self, step, num_steps, learning_rate,
123 report_stats):
124 """
125 See base class method `ReportMgrBase.report_training`.
126 """
127 report_stats.output(step, num_steps,
128 learning_rate, self.start_time)
129
130 # Log the progress using the number of batches on the x-axis.
131 self.maybe_log_tensorboard(report_stats,
132 "progress",
133 learning_rate,
134 self.progress_step)
135 report_stats = Statistics()
136
137 return report_stats
138
139 def _report_step(self, lr, step, train_stats=None, valid_stats=None):
140 """
141 See base class method `ReportMgrBase.report_step`.
142 """
143 if train_stats is not None:
144 self.log('Train xent: %g' % train_stats.xent())
145
146 self.maybe_log_tensorboard(train_stats,
147 "train",
148 lr,
149 step)
150
151 if valid_stats is not None:
152 self.log('Validation xent: %g at step %d' % (valid_stats.xent(), step))
153
154 self.maybe_log_tensorboard(valid_stats,
155 "valid",
156 lr,
157 step)

Callers 2

build_trainerFunction · 0.90
build_report_managerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected