(self)
| 178 | ) |
| 179 | |
| 180 | def test_audio(self): |
| 181 | logdir = self.get_temp_dir() |
| 182 | steps = (0, 1, 2) |
| 183 | with test_util.FileWriter(logdir) as writer: |
| 184 | for step in steps: |
| 185 | event = event_pb2.Event() |
| 186 | event.step = step |
| 187 | event.wall_time = 456.75 * step |
| 188 | audio = tf.reshape( |
| 189 | tf.linspace(0.0, 100.0, 4 * 10 * 2), (4, 10, 2) |
| 190 | ) |
| 191 | audio_pb = audio_summary.pb( |
| 192 | "foo", |
| 193 | audio, |
| 194 | labels=["one", "two", "three", "four"], |
| 195 | sample_rate=44100, |
| 196 | display_name="bar", |
| 197 | description="baz", |
| 198 | ) |
| 199 | writer.add_summary( |
| 200 | audio_pb.SerializeToString(), global_step=step |
| 201 | ) |
| 202 | files = os.listdir(logdir) |
| 203 | self.assertLen(files, 1) |
| 204 | event_file = os.path.join(logdir, files[0]) |
| 205 | loader = event_file_loader.RawEventFileLoader(event_file) |
| 206 | input_events = [event_pb2.Event.FromString(x) for x in loader.Load()] |
| 207 | |
| 208 | new_events = [] |
| 209 | initial_metadata = {} |
| 210 | for input_event in input_events: |
| 211 | migrated = self._migrate_event( |
| 212 | input_event, initial_metadata=initial_metadata |
| 213 | ) |
| 214 | new_events.extend(migrated) |
| 215 | |
| 216 | self.assertLen(new_events, 4) |
| 217 | self.assertEqual(new_events[0].WhichOneof("what"), "file_version") |
| 218 | for step in steps: |
| 219 | with self.subTest("step %d" % step): |
| 220 | new_event = new_events[step + 1] |
| 221 | self.assertLen(new_event.summary.value, 1) |
| 222 | value = new_event.summary.value[0] |
| 223 | tensor = tensor_util.make_ndarray(value.tensor) |
| 224 | self.assertEqual( |
| 225 | tensor.shape, (3,) |
| 226 | ) # 4 clipped to max_outputs=3 |
| 227 | self.assertStartsWith(tensor[0], b"RIFF") |
| 228 | self.assertStartsWith(tensor[1], b"RIFF") |
| 229 | if step == min(steps): |
| 230 | metadata = value.metadata |
| 231 | self.assertEqual( |
| 232 | metadata.data_class, |
| 233 | summary_pb2.DATA_CLASS_BLOB_SEQUENCE, |
| 234 | ) |
| 235 | self.assertEqual( |
| 236 | metadata.plugin_data.plugin_name, |
| 237 | audio_metadata.PLUGIN_NAME, |
nothing calls this directly
no test coverage detected