(self)
| 253 | self.model_dir = self.get_temp_dir() |
| 254 | |
| 255 | def test_no_checkpoint(self): |
| 256 | test_runner = TestRunner() |
| 257 | # No checkpoint manager and no strategy. |
| 258 | test_controller = controller.Controller( |
| 259 | trainer=test_runner, |
| 260 | evaluator=test_runner, |
| 261 | global_step=test_runner.global_step, |
| 262 | steps_per_loop=2, |
| 263 | summary_dir=os.path.join(self.model_dir, "summaries/train"), |
| 264 | eval_summary_dir=os.path.join(self.model_dir, "summaries/eval")) |
| 265 | test_controller.train_and_evaluate( |
| 266 | train_steps=10, eval_steps=2, eval_interval=6) |
| 267 | self.assertEqual(test_runner.global_step, 10) |
| 268 | # Loss and accuracy values should be written into summaries. |
| 269 | self.assertNotEmpty( |
| 270 | tf.io.gfile.listdir(os.path.join(self.model_dir, "summaries/train"))) |
| 271 | self.assertNotEmpty( |
| 272 | summaries_with_matching_keyword( |
| 273 | "loss", os.path.join(self.model_dir, "summaries/train"))) |
| 274 | self.assertNotEmpty( |
| 275 | tf.io.gfile.listdir(os.path.join(self.model_dir, "summaries/eval"))) |
| 276 | self.assertNotEmpty( |
| 277 | summaries_with_matching_keyword( |
| 278 | "eval_loss", os.path.join(self.model_dir, "summaries/eval"))) |
| 279 | # No checkpoint, so global step starts from 0. |
| 280 | test_runner.global_step.assign(0) |
| 281 | test_controller.train_and_evaluate( |
| 282 | train_steps=10, eval_steps=2, eval_interval=6) |
| 283 | self.assertEqual(test_runner.global_step, 10) |
| 284 | self.assertTrue(controller._orbit_api_gauge.get_cell().value()) |
| 285 | |
| 286 | def test_no_checkpoint_and_summaries(self): |
| 287 | test_runner = TestRunner() |
nothing calls this directly
no test coverage detected