class_docstr: Test integration of the gradient transform decorator
class_docstr_tok: ["Test","integration","of","the","gradient","transform","decorator"]
docstr: Test that a gradient transform acts on QNodes
  correctly when the QNode arguments are classically processed,
  and the input weights and the output weights have weird shape.
docstr_tok: ["Test","that","a","gradient","transform","acts","on","QNodes","correctly","when","the","QNode","arguments","are","classically","processed",",","and","the","input","weights","and","the","output","weights","have","weird","shape","."]
code: def test_advanced_classical_processing_arguments(self, tol):
      """Test that a gradient transform acts on QNodes
      correctly when the QNode arguments are classically processed,
      and the input weights and the output weights have weird shape."""
      dev = qml.device("default.qubit", wires=2)
  
      @qml.qnode(dev)
      def circuit(weights):
          qml.RX(weights[0, 0] ** 2, wires=[0])
          qml.RY(weights[0, 1], wires=[1])
          qml.CNOT(wires=[0, 1])
          return qml.probs(wires=[0, 1])
  
      w = np.array([[0.543, -0.654], [0.0, 0.0]], requires_grad=True)
      res = qml.gradients.param_shift(circuit)(w)
      assert res.shape == (4, 2, 2)
  
      expected = qml.jacobian(circuit)(w)
      assert np.allclose(res, expected, atol=tol, rtol=0)
  
      @qml.qnode(dev)
      def circuit1(weights):
          qml.RX(weights[0], wires=[0])
          qml.RY(weights[1], wires=[1])
          qml.CNOT(wires=[0, 1])
          return qml.probs(wires=[0, 1])
  
      w = np.array([0.543**2, -0.654], requires_grad=True)
      expected = qml.jacobian(circuit1)(w)
  
      assert np.allclose(res[0][0], expected[0], atol=10e-2, rtol=0)
      assert np.allclose(res[1][0], expected[1], atol=10e-2, rtol=0)
  
imports: import pytest
  import pennylane
  from pennylane import numpy
  from pennylane.gradients.gradient_transform import _find_gradient_methods, _validate_gradient_methods, choose_trainable_params
label_desc: Use image node_id 16 for calling the TestGradientTransformIntegration obj's underlying member method code with example usage: obj.test_advanced_classical_processing_arguments(tol) and returns: qml, qml