Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# -*- encoding: utf-8 -*- 

2# pylint: disable=E0203,E1101,C0111 

3""" 

4@file 

5@brief Runtime operator. 

6""" 

7import numpy 

8from ._op import OpRun 

9from ..shape_object import ShapeObject 

10 

11 

12class Shape(OpRun): 

13 

14 def __init__(self, onnx_node, desc=None, **options): 

15 OpRun.__init__(self, onnx_node, desc=desc, **options) 

16 

17 def _run(self, data): # pylint: disable=W0221 

18 return (numpy.array(data.shape, dtype=numpy.int64), ) 

19 

20 def _infer_shapes(self, x): # pylint: disable=W0221 

21 return (ShapeObject((len(x), ), dtype=numpy.int64), ) 

22 

23 def _infer_types(self, x): # pylint: disable=W0221 

24 return (numpy.int64, ) 

25 

26 def _infer_sizes(self, *args, **kwargs): 

27 res = self.run(*args, **kwargs) 

28 return (dict(temp=0), ) + res