コード例 #1
0
    def backend_attrs(self):
        if self.ir_version == 10:
            return [
                ('dilations', lambda node: ','.join(map(str, node['dilation'][node.spatial_dims]))),
                ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
                ('pads_begin',
                 lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0))) if node.has_valid(
                     'pad') else None),
                ('pads_end',
                 lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1))) if node.has_valid(
                     'pad') else None),
                'auto_pad',
            ]
        return [
            ('dilations',
             lambda node: ','.join(map(str, node['dilation'][node.spatial_dims])) if node.has_valid('dilation')
             else None),
            'auto_pad',
            'group',
            ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
            ('kernel', lambda node: ','.join(map(str, node['kernel_spatial']))),

            ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
            ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),
            'output'
        ]
コード例 #2
0
    def backend_attrs(self):
        if self.ir_version == 10:
            return [
                'auto_pad',
                ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
                ('dilations', lambda node: ','.join(map(str, node['dilation'][node.spatial_dims]))),
                ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
                ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),
                ('output_padding', lambda node: ','.join(map(str, node.output_padding[node.spatial_dims])) \
                    if node.has_valid('output_padding') else None),

                # for BinaryConvolution only
                'pad_value',
                'mode',
            ]
        return [
           'auto_pad',
           'group',
           ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
           ('dilations', lambda node: ','.join(map(str, node['dilation'][node.spatial_dims]))),
           ('kernel', lambda node: ','.join(map(str, node['kernel_spatial'])) \
               if node.has_valid('kernel_spatial') else None),
           ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
           ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),
           'output',
           'pad_value',
           'mode',
           'input',
        ]
コード例 #3
0
    def backend_attrs(self):
        return [
           'auto_pad',
           'group',
           ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
           ('kernel', lambda node: ','.join(map(str, node['kernel_spatial']))),

           ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
           ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),
           'output'
        ]
コード例 #4
0
ファイル: pooling.py プロジェクト: yding10/openvino
    def backend_attrs(self):
        return [
            ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
            ('kernel', lambda node: ','.join(map(str, node['window'][node.spatial_dims]))),

            ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
            ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),

            ('exclude-pad', lambda node: bool_to_str(node, 'exclude_pad')),

            'rounding_type',
            ('auto_pad', lambda node: node.auto_pad if node.has_valid('auto_pad') else 'explicit'),
        ]
コード例 #5
0
    def backend_attrs(self):
        return [
            ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
            ('kernel', lambda node: ','.join(map(str, node['window'][node.spatial_dims]))),

            ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
            ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),

            ('pool-method', 'pool_method'),
            ('exclude-pad', 'exclude_pad'),

            'rounding_type',
            'auto_pad',
        ]
コード例 #6
0
 def backend_attrs(self):
     return [
         ('dilations', lambda node: ','.join(
             map(str, node['dilation'][node.spatial_dims]))),
         ('strides',
          lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))
          ),
         ('pads_begin', lambda node: ','.join(
             map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))
          if node.has_valid('pad') else None),
         ('pads_end', lambda node: ','.join(
             map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))
          if node.has_valid('pad') else None),
         'auto_pad',
     ]
コード例 #7
0
ファイル: convolution.py プロジェクト: groove-x/openvino
 def backend_attrs(self):
     return [
        'auto_pad',
        'group',
        ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
        ('dilations', lambda node: ','.join(map(str, node['dilation'][node.spatial_dims]))),
        ('kernel', lambda node: ','.join(map(str, node['kernel_spatial'])) \
            if node.has_valid('kernel_spatial') else None),
        ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
        ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),
        'output',
        'pad_value',
        'mode',
        'input',
     ]
コード例 #8
0
ファイル: convolution.py プロジェクト: baychub/openvino
 def pad_attribute_helper(node: Node, pad_type: str='begin'):
     assert pad_type in ['begin', 'end']
     if not node.has_valid('pad'):
         return None
     pad = get_backend_pad(node.pad, node.spatial_dims, 0 if pad_type == 'begin' else 1)
     if node.has_valid('auto_pad') and node.auto_pad != 'explicit':
         pad = [0 for _ in pad]
     return ','.join(map(str, pad))
コード例 #9
0
ファイル: convolution.py プロジェクト: zoeysgithub/openvino
    def backend_attrs(self):
        if self.ir_version == 10:

            def pad_attribute_helper(node: Node, pad_type: str = 'begin'):
                assert pad_type in ['begin', 'end']
                if not node.has_valid('pad'):
                    return None
                pad = get_backend_pad(node.pad, node.spatial_dims,
                                      0 if pad_type == 'begin' else 1)
                if node.has_valid('auto_pad'):
                    pad = [0 for _ in pad]
                return ','.join(map(str, pad))

            return [
                'auto_pad',
                ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
                ('dilations', lambda node: ','.join(map(str, node['dilation'][node.spatial_dims]))),
                ('pads_begin', lambda node: pad_attribute_helper(node, 'begin')),
                ('pads_end', lambda node: pad_attribute_helper(node, 'end')),
                ('output_padding', lambda node: ','.join(map(str, node.output_padding[node.spatial_dims])) \
                    if node.has_valid('output_padding') else None),

                # for BinaryConvolution only
                'pad_value',
                'mode',
            ]
        return [
           'auto_pad',
           'group',
           ('strides', lambda node: ','.join(map(str, node['stride'][node.spatial_dims]))),
           ('dilations', lambda node: ','.join(map(str, node['dilation'][node.spatial_dims]))),
           ('kernel', lambda node: ','.join(map(str, node['kernel_spatial'])) \
               if node.has_valid('kernel_spatial') else None),
           ('pads_begin', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 0)))),
           ('pads_end', lambda node: ','.join(map(str, get_backend_pad(node.pad, node.spatial_dims, 1)))),
           'output',
           'pad_value',
           'mode',
           'input',
        ]