Setup callbacks and monitors. Must be called after the main graph is built. Args: callbacks ([Callback]): monitors ([MonitorBase]):
(self, callbacks, monitors)
| 180 | |
| 181 | @call_only_once |
| 182 | def setup_callbacks(self, callbacks, monitors): |
| 183 | """ |
| 184 | Setup callbacks and monitors. Must be called after the main graph is built. |
| 185 | |
| 186 | Args: |
| 187 | callbacks ([Callback]): |
| 188 | monitors ([MonitorBase]): |
| 189 | """ |
| 190 | assert isinstance(callbacks, list), callbacks |
| 191 | assert isinstance(monitors, list), monitors |
| 192 | describe_trainable_vars() # TODO weird |
| 193 | |
| 194 | self.register_callback(MaintainStepCounter()) |
| 195 | for cb in callbacks: |
| 196 | self.register_callback(cb) |
| 197 | for cb in self._callbacks: |
| 198 | assert not isinstance(cb, MonitorBase), "Monitor cannot be pre-registered for now!" |
| 199 | registered_monitors = [] |
| 200 | for m in monitors: |
| 201 | if self.register_callback(m): |
| 202 | registered_monitors.append(m) |
| 203 | self.monitors = Monitors(registered_monitors) |
| 204 | self.register_callback(self.monitors) # monitors is also a callback |
| 205 | |
| 206 | # some final operations that might modify the graph |
| 207 | logger.info("Setup callbacks graph ...") |
| 208 | self._callbacks = Callbacks(self._callbacks) |
| 209 | self._callbacks.setup_graph(weakref.proxy(self)) |
| 210 | |
| 211 | @call_only_once |
| 212 | def initialize(self, session_creator, session_init): |
no test coverage detected