Esempio n. 1
0
 def test_0d_not_type_shape(self):
     pb_tensor = PB({
         'dtype': 3,
         'tensor_content': b'\x01\x00\x00\x00',
     })
     tf_dtype = pb_tensor.dtype
     shape = np.array([3])
     ref = [1, 1, 1]
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(np.all(res == ref))
Esempio n. 2
0
 def test_0d_type_no_shape(self):
     pb_tensor = PB({
         'dtype': 3,
         'int_val': [5],
     })
     tf_dtype = pb_tensor.dtype
     shape = np.array([])
     ref = 5
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(res == ref)
Esempio n. 3
0
 def extract(cls, node):
     pb_tensor = node.pb.attr["value"].tensor
     shape = tf_tensor_shape(pb_tensor.tensor_shape)
     attrs = {
         'shape': shape,
         'value': tf_tensor_content(pb_tensor.dtype, shape, pb_tensor),
         'data_type': tf_dtype_extractor(pb_tensor.dtype),
     }
     Const.update_node_stat(node, attrs)
     return cls.enabled
Esempio n. 4
0
 def test_list_type_shape(self):
     pb_tensor = PB({
         'dtype': 3,
         'int_val': np.array([1, 2, 3, 4, 5], dtype=np.int32)
     })
     tf_dtype = pb_tensor.dtype
     shape = np.array([10])
     ref = [1, 2, 3, 4, 5, 5, 5, 5, 5, 5]
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(np.all(res == ref))
Esempio n. 5
0
 def test_nd_type_no_shape(self):
     pb_tensor = PB({
         'dtype': 3,
         'int_val': [[1, 2, 3], [4, 5, 6]],
     })
     tf_dtype = pb_tensor.dtype
     shape = np.array([2, 3])
     ref = [[1, 2, 3], [4, 5, 6]]
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(np.all(res == ref))
Esempio n. 6
0
def tf_const_ext(pb):
    pb_tensor = pb.attr["value"].tensor
    result = {
        'data_type': tf_dtype_extractor(pb_tensor.dtype),
        'shape': tf_tensor_shape(pb_tensor.tensor_shape),
        'infer': tf_const_infer
    }
    result['value'] = tf_tensor_content(pb_tensor.dtype, result['shape'], pb_tensor)
    log.debug('Constant extractor for node gives shape = {} and value.shape = {}'.format(result['shape'],
                                                                                         result['value'].shape))
    return result
Esempio n. 7
0
 def test_nd_not_type_no_shape(self):
     pb_tensor = PB({
         'dtype': 3,
         'tensor_content':
             b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00',
     })
     tf_dtype = pb_tensor.dtype
     shape = np.array([2, 3])
     ref = [[1, 2, 3], [4, 5, 6]]
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(np.all(res == ref))
Esempio n. 8
0
 def test_list_not_type_shape(self):
     pb_tensor = PB({
         'dtype':
         3,
         'tensor_content':
         b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00'
     })
     tf_dtype = pb_tensor.dtype
     shape = np.array([10])
     ref = [1, 2, 3, 4, 5, 5, 5, 5, 5, 5]
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(np.all(res == ref))
Esempio n. 9
0
 def test_list_not_type_no_shape(self):
     pb_tensor = PB(
         dict(
             dtype=3,
             tensor_content=
             b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00'
         ))
     tf_dtype = pb_tensor.dtype
     shape = np.array([5])
     ref = [1, 2, 3, 4, 5]
     res = tf_tensor_content(tf_dtype, shape, pb_tensor)
     self.assertTrue(np.all(res == ref))
Esempio n. 10
0
 def test_str_decode_list(self):
     pb_tensor = PB({
         'dtype': 7,
         'string_val': [b'\377\330\377\377\330\377'],
     })
     shape = int64_array([])
     warning_message = 'ERROR:root:Failed to parse a tensor with Unicode characters. Note that Inference Engine ' \
                       'does not support string literals, so the string constant should be eliminated from the ' \
                       'graph.'
     with self.assertLogs(log.getLogger(), level="ERROR") as cm:
         result = tf_tensor_content(pb_tensor.dtype, shape, pb_tensor)
         self.assertEqual([warning_message, warning_message], cm.output)
Esempio n. 11
0
 def test_str_decode(self):
     pb_tensor = PB({
         'dtype': 7,
         'string_val': [b"\037\000\036\000\002\000\303\237\035\000\002"]
     })
     tf_dtype = pb_tensor.dtype
     shape = int64_array([1])
     warning_message = 'ERROR:root:Failed to parse a tensor with Unicode characters. Note that Inference Engine ' \
                       'does not support string literals, so the string constant should be eliminated from the ' \
                       'graph.'
     ref_val = np.array([b'\x1f\x00\x1e\x00\x02\x00\xc3\x9f\x1d\x00\x02'])
     with self.assertLogs(log.getLogger(), level="ERROR") as cm:
         result = tf_tensor_content(tf_dtype, shape, pb_tensor)
         self.assertEqual([warning_message], cm.output)
         self.assertEqual(ref_val, result)