예제 #1
0
    def test_decodes_example_proto(self):
        expected_label = range(37)
        expected_image, encoded = unittest_utils.create_random_image(
            'PNG', shape=(150, 600, 3))
        serialized = unittest_utils.create_serialized_example({
            'image/encoded': [encoded],
            'image/format': [b'PNG'],
            'image/class':
            expected_label,
            'image/unpadded_class':
            range(10),
            'image/text': [b'Raw text'],
            'image/orig_width': [150],
            'image/width': [600]
        })

        decoder = fsns.get_split('train', dataset_dir()).decoder
        with self.test_session() as sess:
            data_tuple = collections.namedtuple('DecodedData',
                                                decoder.list_items())
            data = sess.run(data_tuple(*decoder.decode(serialized)))

        self.assertAllEqual(expected_image, data.image)
        self.assertAllEqual(expected_label, data.label)
        self.assertEqual([b'Raw text'], data.text)
        self.assertEqual([1], data.num_of_views)
예제 #2
0
 def test_created_example_has_correct_values(self):
   example_serialized = unittest_utils.create_serialized_example({
       'labels': [1, 2, 3],
       'data': ['FAKE']
   })
   example = tf.train.Example()
   example.ParseFromString(example_serialized)
   self.assertProtoEquals("""
     features {
       feature {
         key: "labels"
          value { int64_list {
            value: 1
            value: 2
            value: 3
          }}
        }
        feature {
          key: "data"
          value { bytes_list {
            value: "FAKE"
          }}
        }
     }
   """, example)