def _GetVal(use_xla):
      with self.test_session():
        t0 = constant_op.constant(input_sizes, shape=[len(input_sizes)])
        t1 = array_ops.placeholder(np.float32, shape=filter_sizes)
        t2 = array_ops.placeholder(np.float32, shape=output_sizes)
        if use_xla:
          with self.test_scope():
            backprop = nn_ops.depthwise_conv2d_native_backprop_input(
                t0, t1, t2, strides=[1, stride, stride, 1], padding=padding)
        else:
          backprop = nn_ops.depthwise_conv2d_native_backprop_input(
              t0, t1, t2, strides=[1, stride, stride, 1], padding=padding)

        ret = backprop.eval({t1: x1, t2: x2})
        self.assertShapeEqual(ret, backprop)
        return ret
Exemplo n.º 2
0
def _DepthwiseConv2dNativeGrad(op, grad):
  return [
      nn_ops.depthwise_conv2d_native_backprop_input(
          array_ops.shape(op.inputs[0]), op.inputs[1], grad,
          op.get_attr("strides"), op.get_attr("padding")),
      nn_ops.depthwise_conv2d_native_backprop_filter(
          op.inputs[0], array_ops.shape(op.inputs[1]), grad,
          op.get_attr("strides"), op.get_attr("padding"))
  ]
 def _GetVal(use_gpu):
   with self.cached_session(use_gpu=use_gpu):
     t0 = constant_op.constant(input_sizes, shape=[len(input_sizes)])
     t1 = constant_op.constant(x1, shape=filter_sizes)
     t2 = constant_op.constant(x2, shape=output_sizes)
     backprop = nn_ops.depthwise_conv2d_native_backprop_input(
         t0, t1, t2, strides=[1, stride, stride, 1], padding=padding)
     ret = self.evaluate(backprop)
     self.assertShapeEqual(ret, backprop)
     return ret
Exemplo n.º 4
0
def _DepthwiseConv2dNativeGrad(op, grad):
    return [
        nn_ops.depthwise_conv2d_native_backprop_input(
            array_ops.shape(op.inputs[0]),
            op.inputs[1],
            grad,
            op.get_attr("strides"),
            op.get_attr("padding"),
            data_format=op.get_attr("data_format")),
        nn_ops.depthwise_conv2d_native_backprop_filter(
            op.inputs[0],
            array_ops.shape(op.inputs[1]),
            grad,
            op.get_attr("strides"),
            op.get_attr("padding"),
            data_format=op.get_attr("data_format"))
    ]
Exemplo n.º 5
0
def _DepthwiseConv2dNativeBackpropFilterGrad(op, grad):
    return [
        nn_ops.depthwise_conv2d_native_backprop_input(
            array_ops.shape(op.inputs[0]),
            grad,
            op.inputs[2],
            dilations=op.get_attr("dilations"),
            strides=op.get_attr("strides"),
            padding=op.get_attr("padding"),
            data_format=op.get_attr("data_format")), None,
        nn_ops.depthwise_conv2d_native(op.inputs[0],
                                       grad,
                                       dilations=op.get_attr("dilations"),
                                       strides=op.get_attr("strides"),
                                       padding=op.get_attr("padding"),
                                       data_format=op.get_attr("data_format"))
    ]
Exemplo n.º 6
0
def _DepthwiseConv2dNativeBackpropFilterGrad(op, grad):
  return [
      nn_ops.depthwise_conv2d_native_backprop_input(
          array_ops.shape(op.inputs[0]),
          grad,
          op.inputs[2],
          dilations=op.get_attr("dilations"),
          strides=op.get_attr("strides"),
          padding=op.get_attr("padding"),
          data_format=op.get_attr("data_format")), None,
      nn_ops.depthwise_conv2d_native(
          op.inputs[0],
          grad,
          dilations=op.get_attr("dilations"),
          strides=op.get_attr("strides"),
          padding=op.get_attr("padding"),
          data_format=op.get_attr("data_format"))
  ]