def test_metadata(self): pb = self.compute_and_check_summary_pb('mona_lisa', self.images) summary_metadata = pb.value[0].metadata plugin_data = summary_metadata.plugin_data self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME) content = summary_metadata.plugin_data.content # There's no content, so successfully parsing is fine. metadata.parse_plugin_metadata(content)
def test_metadata(self): data = np.array(1, np.uint8, ndmin=4) description = 'By Leonardo da Vinci' pb = self.image('mona_lisa', data, description=description) summary_metadata = pb.value[0].metadata self.assertEqual(summary_metadata.summary_description, description) plugin_data = summary_metadata.plugin_data self.assertEqual(plugin_data.plugin_name, metadata.PLUGIN_NAME) content = summary_metadata.plugin_data.content # There's no content, so successfully parsing is fine. metadata.parse_plugin_metadata(content)
def test_image(self): with tf.compat.v1.Graph().as_default(): old_op = tf.compat.v1.summary.image( "mona_lisa", tf.image.convert_image_dtype( tf.random.normal(shape=[1, 400, 200, 3]), tf.uint8, saturate=True, ), ) old_value = self._value_from_op(old_op) assert old_value.HasField("image"), old_value new_value = data_compat.migrate_value(old_value) self.assertEqual("mona_lisa/image/0", new_value.tag) expected_metadata = image_metadata.create_summary_metadata( display_name="mona_lisa/image/0", description="", converted_to_tensor=True, ) # Check serialized submessages... plugin_content = image_metadata.parse_plugin_metadata( new_value.metadata.plugin_data.content ) expected_content = image_metadata.parse_plugin_metadata( expected_metadata.plugin_data.content ) self.assertEqual(plugin_content, expected_content) # ...then check full metadata except plugin content, since # serialized forms need not be identical. new_value.metadata.plugin_data.content = ( expected_metadata.plugin_data.content ) self.assertEqual(expected_metadata, new_value.metadata) self.assertTrue(new_value.HasField("tensor")) (width, height, data) = tensor_util.make_ndarray(new_value.tensor) self.assertEqual(b"200", width) self.assertEqual(b"400", height) self.assertEqual( tf.compat.as_bytes(old_value.image.encoded_image_string), data )