提交 d804bca8 编写于 作者: 赵奇可

resize bicubic implement

上级 b7c1990e
...@@ -47,6 +47,7 @@ extern void Register_Proposal(OperatorRegistryBase *op_registry); ...@@ -47,6 +47,7 @@ extern void Register_Proposal(OperatorRegistryBase *op_registry);
extern void Register_Quantize(OperatorRegistryBase *op_registry); extern void Register_Quantize(OperatorRegistryBase *op_registry);
extern void Register_ReduceMean(OperatorRegistryBase *op_registry); extern void Register_ReduceMean(OperatorRegistryBase *op_registry);
extern void Register_Reshape(OperatorRegistryBase *op_registry); extern void Register_Reshape(OperatorRegistryBase *op_registry);
extern void Register_ResizeBicubic(OperatorRegistryBase *op_registry);
extern void Register_ResizeBilinear(OperatorRegistryBase *op_registry); extern void Register_ResizeBilinear(OperatorRegistryBase *op_registry);
extern void Register_Shape(OperatorRegistryBase *op_registry); extern void Register_Shape(OperatorRegistryBase *op_registry);
extern void Register_Split(OperatorRegistryBase *op_registry); extern void Register_Split(OperatorRegistryBase *op_registry);
...@@ -98,6 +99,7 @@ OperatorRegistry::OperatorRegistry() : OperatorRegistryBase() { ...@@ -98,6 +99,7 @@ OperatorRegistry::OperatorRegistry() : OperatorRegistryBase() {
ops::Register_Quantize(this); ops::Register_Quantize(this);
ops::Register_ReduceMean(this); ops::Register_ReduceMean(this);
ops::Register_Reshape(this); ops::Register_Reshape(this);
ops::Register_ResizeBicubic(this);
ops::Register_ResizeBilinear(this); ops::Register_ResizeBilinear(this);
ops::Register_Shape(this); ops::Register_Shape(this);
ops::Register_Split(this); ops::Register_Split(this);
......
...@@ -100,6 +100,7 @@ MaceSupportedOps = [ ...@@ -100,6 +100,7 @@ MaceSupportedOps = [
'Quantize', 'Quantize',
'ReduceMean', 'ReduceMean',
'Reshape', 'Reshape',
'ResizeBicubic',
'ResizeBilinear', 'ResizeBilinear',
'Slice', 'Slice',
'Split', 'Split',
......
...@@ -80,6 +80,7 @@ TFSupportedOps = [ ...@@ -80,6 +80,7 @@ TFSupportedOps = [
'Shape', 'Shape',
'Transpose', 'Transpose',
'Softmax', 'Softmax',
'ResizeBicubic',
'ResizeBilinear', 'ResizeBilinear',
'Placeholder', 'Placeholder',
'SpaceToBatchND', 'SpaceToBatchND',
...@@ -178,6 +179,7 @@ class TensorflowConverter(base_converter.ConverterInterface): ...@@ -178,6 +179,7 @@ class TensorflowConverter(base_converter.ConverterInterface):
TFOpType.Squeeze.name: self.convert_squeeze, TFOpType.Squeeze.name: self.convert_squeeze,
TFOpType.Transpose.name: self.convert_transpose, TFOpType.Transpose.name: self.convert_transpose,
TFOpType.Softmax.name: self.convert_softmax, TFOpType.Softmax.name: self.convert_softmax,
TFOpType.ResizeBicubic.name: self.convert_resize_bicubic,
TFOpType.ResizeBilinear.name: self.convert_resize_bilinear, TFOpType.ResizeBilinear.name: self.convert_resize_bilinear,
TFOpType.Placeholder.name: self.convert_nop, TFOpType.Placeholder.name: self.convert_nop,
TFOpType.SpaceToBatchND.name: self.convert_space_batch, TFOpType.SpaceToBatchND.name: self.convert_space_batch,
...@@ -511,6 +513,20 @@ class TensorflowConverter(base_converter.ConverterInterface): ...@@ -511,6 +513,20 @@ class TensorflowConverter(base_converter.ConverterInterface):
op = self.convert_general_op(tf_op) op = self.convert_general_op(tf_op)
op.type = MaceOp.Softmax.name op.type = MaceOp.Softmax.name
def convert_resize_bicubic(self, tf_op):
op = self.convert_general_op(tf_op)
op.type = MaceOp.ResizeBicubic.name
del op.input[1:]
size_arg = op.arg.add()
size_arg.name = MaceKeyword.mace_resize_size_str
size_value = tf_op.inputs[1].eval().astype(np.int32)
size_arg.ints.extend(size_value)
self._skip_tensor.add(tf_op.inputs[1].name)
align_corners_arg = op.arg.add()
align_corners_arg.name = MaceKeyword.mace_align_corners_str
align_corners_arg.i = tf_op.get_attr(tf_align_corners)
def convert_resize_bilinear(self, tf_op): def convert_resize_bilinear(self, tf_op):
op = self.convert_general_op(tf_op) op = self.convert_general_op(tf_op)
op.type = MaceOp.ResizeBilinear.name op.type = MaceOp.ResizeBilinear.name
......
...@@ -41,6 +41,7 @@ def _opencl_encrypt_kernel_impl(repository_ctx): ...@@ -41,6 +41,7 @@ def _opencl_encrypt_kernel_impl(repository_ctx):
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/pad.cl")) unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/pad.cl"))
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/pooling.cl")) unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/pooling.cl"))
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/reduce_mean.cl")) unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/reduce_mean.cl"))
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/resize_bicubic.cl"))
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/resize_bilinear.cl")) unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/resize_bilinear.cl"))
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/split.cl")) unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/split.cl"))
unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/softmax.cl")) unused_var = repository_ctx.path(Label("//:mace/kernels/opencl/cl/softmax.cl"))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册