diff --git a/syft/frameworks/torch/hook/hook_args.py b/syft/frameworks/torch/hook/hook_args.py
index e078984ea8..49a4627dcd 100644
--- a/syft/frameworks/torch/hook/hook_args.py
+++ b/syft/frameworks/torch/hook/hook_args.py
@@ -55,6 +55,7 @@ ambiguous_functions = {
     "chunk",
     "torch.functional.split",
     "split",
+    "backward",
 }
 
 register_ambiguous_method(*ambiguous_methods)
diff --git a/syft/frameworks/torch/tensors/interpreters/autograd.py b/syft/frameworks/torch/tensors/interpreters/autograd.py
index 5f32984b18..0d738a44ff 100644
--- a/syft/frameworks/torch/tensors/interpreters/autograd.py
+++ b/syft/frameworks/torch/tensors/interpreters/autograd.py
@@ -255,10 +255,19 @@ class AutogradTensor(AbstractTensor):
     def get(self):
         """Just a pass through. This is most commonly used when calling .get() on a
         AutogradTensor which has also been shared."""
-        self.child = self.child.get()
-        # Remove the autograd node if a simple tensor is received
-        if isinstance(self.child, torch.Tensor) and not self.child.is_wrapper:
-            return self.child
+        tensor = self.child.get()
+
+        if isinstance(tensor, torch.Tensor):
+            # Remove the autograd node if a simple tensor is received
+            if not tensor.is_wrapper:
+                return tensor
+            # If it's a wrapper, then insert the autograd under the wrapper
+            else:
+                self.child = tensor.child
+                tensor.child = self
+                return tensor
+
+        self.child = tensor
         return self
 
     def float_precision(self):

URGENT: bug in encrypted autograd
**Describe the bug**
For some reason, calling loss.backward() on a pointer using normal autograd then breaks our ability to call loss.backward() on an encrypted loss variable even on two totally separate examples.

**To Reproduce**
```
import torch
import torch as th
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import syft as sy

# Set everything up
hook = sy.TorchHook(torch) 

big_hospital = sy.VirtualWorker(hook, id="big_hospital2")
small_hospital = sy.VirtualWorker(hook, id="small_hospital2")
crypto_provider = sy.VirtualWorker(hook, id="crypto_provider2")

# A Toy Model
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(2, 2)
        self.fc2 = nn.Linear(2, 1)

    def forward(self, x):
        x = self.fc1(x)
        x = F.relu(x)
        x = self.fc2(x)
        return x
    
def federated():
    # A Toy Dataset
    data = th.tensor([[0,0],[0,1],[1,0],[1,1.]])
    target = th.tensor([[0],[0],[1],[1.]])

    model = Net()

    # Training Logic
    opt = optim.SGD(params=model.parameters(),lr=0.1)

    data = data.send(big_hospital)
    target = target.send(big_hospital)

    # NEW) send model to correct worker
    model.send(data.location)

    # 1) erase previous gradients (if they exist)
    opt.zero_grad()

    # 2) make a prediction
    pred = model(data)

    # 3) calculate how much we missed
    loss = ((pred - target)**2).sum()

    # 4) figure out which weights caused us to miss
    loss.backward()
    
    print("Done!")
    
def encrypted():
    # A Toy Dataset
    data2 = th.tensor([[0,0],[0,1],[1,0],[1,1.]])
    target2 = th.tensor([[0],[0],[1],[1.]])

    model2 = Net()

    # We encode everything
    data2 = data2.fix_precision().share(big_hospital, small_hospital, crypto_provider=crypto_provider, requires_grad=True)
    target2 = target2.fix_precision().share(big_hospital, small_hospital, crypto_provider=crypto_provider, requires_grad=True)
    model2 = model2.fix_precision().share(big_hospital, small_hospital, crypto_provider=crypto_provider, requires_grad=True)

    opt2 = optim.SGD(params=model2.parameters(),lr=0.1).fix_precision()


    # 1) erase previous gradients (if they exist)
    opt2.zero_grad()

    # 2) make a prediction
    pred2 = model2(data2)

    # 3) calculate how much we missed
    loss2 = ((pred2 - target2)**2).sum()

    # 4) figure out which weights caused us to miss
    loss2.backward()

#     # 5) change those weights
#     opt2.step()

#     # 6) print our progress
#     print(loss2.get().float_precision())
        
    print("Done")
    
run_broken = True

# make sure to re-start your jupyter notebook / environment with each test.
if(run_broken):
    # Breaks
    federated()
    encrypted() # breaks here - something about loss2.backward() causes the federated() demo to break 
else:
    # Works fine
    encrypted()
    federated()
```

Throws error:

```
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-db6dbbeffaa2> in <module>()
    100     # Breaks
    101     federated()
--> 102     encrypted() # breaks here - something about loss2.backward() causes the federated() demo to break
    103 else:
    104     # Works fine

<ipython-input-1-db6dbbeffaa2> in encrypted()
     84 
     85     # 4) figure out which weights caused us to miss
---> 86     loss2.backward()
     87 
     88 #     # 5) change those weights

/Users/atrask/anaconda/lib/python3.6/site-packages/syft-0.1.22a1-py3.6.egg/syft/frameworks/torch/hook/hook.py in overloaded_native_method(self, *args, **kwargs)
    683                 # Put back the wrappers where needed
    684                 response = syft.frameworks.torch.hook_args.hook_response(
--> 685                     method_name, response, wrap_type=type(self), new_self=self
    686                 )
    687 

/Users/atrask/anaconda/lib/python3.6/site-packages/syft-0.1.22a1-py3.6.egg/syft/frameworks/torch/hook/hook_args.py in hook_response(attr, response, wrap_type, wrap_args, new_self)
    243         response_hook_function = hook_method_response_functions[attr_id]
    244         # Try running it
--> 245         new_response = response_hook_function(response)
    246 
    247     except (IndexError, KeyError, AssertionError):  # Update the function in cas of an error

/Users/atrask/anaconda/lib/python3.6/site-packages/syft-0.1.22a1-py3.6.egg/syft/frameworks/torch/hook/hook_args.py in <lambda>(x)
    502         f = many_fold
    503 
--> 504     return lambda x: f(lambdas, x)
    505 
    506 

/Users/atrask/anaconda/lib/python3.6/site-packages/syft-0.1.22a1-py3.6.egg/syft/frameworks/torch/hook/hook_args.py in two_fold(lambdas, args, **kwargs)
    520 
    521 def two_fold(lambdas, args, **kwargs):
--> 522     return lambdas[0](args[0], **kwargs), lambdas[1](args[1], **kwargs)
    523 
    524 

/Users/atrask/anaconda/lib/python3.6/site-packages/syft-0.1.22a1-py3.6.egg/syft/frameworks/torch/hook/hook_args.py in <lambda>(i)
    480         if isinstance(r, (list, tuple))  # if the rule is a list or tuple.
    481         # Last if not, rule is probably == 1 so use type to return the right transformation.
--> 482         else lambda i: backward_func[wrap_type](i, **wrap_args)
    483         for a, r in zip(response, rules)  # And do this for all the responses / rules provided
    484     ]

/Users/atrask/anaconda/lib/python3.6/site-packages/syft-0.1.22a1-py3.6.egg/syft/frameworks/torch/hook/hook_args.py in <lambda>(i)
     73 backward_func = {
     74     TorchTensor: lambda i: i.wrap(),
---> 75     torch.Tensor: lambda i: i.wrap(),
     76     torch.nn.Parameter: lambda i: torch.nn.Parameter(data=i),
     77     PointerTensor: lambda i: i,

AttributeError: 'NoneType' object has no attribute 'wrap'
```

**Additional context**
latest version of PySyft from PyPI ('0.1.22a1')

diff --git a/test/torch/hook/test_hook_args.py b/test/torch/hook/test_hook_args.py
index fab4a6a1b8..5b7ae93ae6 100644
--- a/test/torch/hook/test_hook_args.py
+++ b/test/torch/hook/test_hook_args.py
@@ -14,3 +14,103 @@ def test_build_rule_numpy():
     arr = np.array([2.0, 3.0, 4.0])
     result = hook_args.build_rule([arr, arr + 2, [2, 4, "string"]])
     assert result == [1, 1, [0, 0, 0]]
+
+
+def test_backward_multiple_use(workers):
+    """
+    Test using backward() in different contexts (FL or Encrypted) within
+    the same session.
+    """
+    big_hospital, small_hospital, crypto_provider = (
+        workers["bob"],
+        workers["alice"],
+        workers["james"],
+    )
+
+    # A Toy Model
+    class Net(torch.nn.Module):
+        def __init__(self):
+            super(Net, self).__init__()
+            self.fc = torch.nn.Linear(2, 1)
+
+        def forward(self, x):
+            x = self.fc(x)
+            return x
+
+    def federated():
+        # A Toy Dataset
+        data = torch.tensor([[0, 0], [0, 1], [1, 0], [1, 1.0]])
+        target = torch.tensor([[0], [0], [1], [1.0]])
+
+        model = Net()
+
+        model_weight = model.fc.weight.copy()
+
+        # Training Logic
+        opt = torch.optim.SGD(params=model.parameters(), lr=0.1)
+
+        data = data.send(big_hospital)
+        target = target.send(big_hospital)
+
+        # NEW) send model to correct worker
+        model.send(data.location)
+
+        # 1) erase previous gradients (if they exist)
+        opt.zero_grad()
+
+        # 2) make a prediction
+        pred = model(data)
+
+        # 3) calculate how much we missed
+        loss = ((pred - target) ** 2).sum()
+
+        # 4) figure out which weights caused us to miss
+        loss.backward()
+
+        # 5) change those weights
+        opt.step()
+
+        assert (model_weight - model.get().fc.weight).sum().abs() > 1.0e-3
+
+    def encrypted():
+        # A Toy Dataset
+        data2 = torch.tensor([[0, 0], [0, 1], [1, 0], [1, 1.0]])
+        target2 = torch.tensor([[0], [0], [1], [1.0]])
+
+        model2 = Net()
+
+        model2_weight = model2.fc.weight.copy()
+
+        # We encode everything
+        data2 = data2.fix_precision().share(
+            big_hospital, small_hospital, crypto_provider=crypto_provider, requires_grad=True
+        )
+        target2 = target2.fix_precision().share(
+            big_hospital, small_hospital, crypto_provider=crypto_provider, requires_grad=True
+        )
+        model2 = model2.fix_precision().share(
+            big_hospital, small_hospital, crypto_provider=crypto_provider, requires_grad=True
+        )
+
+        opt2 = torch.optim.SGD(params=model2.parameters(), lr=0.1).fix_precision()
+
+        # 1) erase previous gradients (if they exist)
+        opt2.zero_grad()
+
+        # 2) make a prediction
+        pred2 = model2(data2)
+
+        # 3) calculate how much we missed
+        loss2 = ((pred2 - target2) ** 2).sum()
+
+        # 4) figure out which weights caused us to miss
+        loss2.backward()
+
+        # 5) change those weights
+        opt2.step()
+
+        weight_diff = (model2_weight - model2.fc.weight.get().float_prec()).sum().abs()
+        assert weight_diff > 1.0e-3
+
+    federated()
+    encrypted()
diff --git a/test/torch/tensors/test_autograd.py b/test/torch/tensors/test_autograd.py
index 443b1ba6bf..ad961600ec 100644
--- a/test/torch/tensors/test_autograd.py
+++ b/test/torch/tensors/test_autograd.py
@@ -473,6 +473,32 @@ def test_backward_for_linear_model_on_additive_shared_with_autograd(workers):
     assert (model.bias.grad == bias_grad).all()
 
 
+def test_share_with_requires_grad(workers):
+    """
+    Test calling fix_precision and share(requires_grad=True) on tensors and model
+    """
+    bob, alice, charlie, crypto_provider = (
+        workers["bob"],
+        workers["alice"],
+        workers["charlie"],
+        workers["james"],
+    )
+
+    t = torch.Tensor([3.0])
+    t = t.fix_precision()
+    t = t.share(alice, bob, crypto_provider=crypto_provider, requires_grad=True)
+
+    assert t.is_wrapper and isinstance(t.child, AutogradTensor)
+
+    t = t.get()
+
+    assert t.is_wrapper and isinstance(t.child, AutogradTensor)
+
+    t = t.float_prec()
+
+    assert t == torch.Tensor([3.0])
+
+
 def test_remote_share_with_requires_grad(workers):
     """
     Test calling fix_precision and share(requires_grad=True) on pointers

pip install -e .[TensorFlow]
parse_log_pytest
pytest
nose2 pytest
3.5
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
absl-py==1.4.0
astor==0.8.1
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
bidict==0.21.4
certifi==2021.5.30
click==8.0.4
dataclasses==0.8
Flask==2.0.3
Flask-SocketIO==5.5.0
gast==0.2.2
google-pasta==0.2.0
grpcio==1.48.2
h11==0.13.0
h5py==2.10.0
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
itsdangerous==2.0.1
Jinja2==3.0.3
joblib==1.1.1
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.2
lz4==3.1.10
Markdown==3.3.7
MarkupSafe==2.0.1
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
msgpack==1.0.5
nose2==0.13.0
numpy==1.18.5
opt-einsum==3.3.0
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
Pillow==8.4.0
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
protobuf==3.19.6
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
python-engineio==4.11.2
python-socketio==5.11.0
PyYAML==6.0.1
scikit-learn==0.24.2
scipy==1.5.4
simple-websocket==1.1.0
six==1.17.0
-e git+https://github.com/OpenMined/PySyft.git@7e14632b65f9bb95b73ef62b0678858704fc6b4c#egg=syft
tblib==1.7.0
tensorboard==1.15.0
tensorflow==1.15.5
tensorflow-estimator==1.15.1
termcolor==1.1.0
tf-encrypted==0.8.0
threadpoolctl==3.1.0
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
torch==1.1.0
torchvision==0.3.0
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
websocket-client==1.3.1
websockets==9.1
Werkzeug==2.0.3
wrapt==1.16.0
wsproto==1.0.0
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work
zstd==1.5.6.6

name: PySyft
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - absl-py==1.4.0
      - astor==0.8.1
      - bidict==0.21.4
      - click==8.0.4
      - dataclasses==0.8
      - flask==2.0.3
      - flask-socketio==5.5.0
      - gast==0.2.2
      - google-pasta==0.2.0
      - grpcio==1.48.2
      - h11==0.13.0
      - h5py==2.10.0
      - itsdangerous==2.0.1
      - jinja2==3.0.3
      - joblib==1.1.1
      - keras-applications==1.0.8
      - keras-preprocessing==1.1.2
      - lz4==3.1.10
      - markdown==3.3.7
      - markupsafe==2.0.1
      - msgpack==1.0.5
      - nose2==0.13.0
      - numpy==1.18.5
      - opt-einsum==3.3.0
      - pillow==8.4.0
      - protobuf==3.19.6
      - python-engineio==4.11.2
      - python-socketio==5.11.0
      - pyyaml==6.0.1
      - scikit-learn==0.24.2
      - scipy==1.5.4
      - simple-websocket==1.1.0
      - six==1.17.0
      - tblib==1.7.0
      - tensorboard==1.15.0
      - tensorflow==1.15.5
      - tensorflow-estimator==1.15.1
      - termcolor==1.1.0
      - tf-encrypted==0.8.0
      - threadpoolctl==3.1.0
      - torch==1.1.0
      - torchvision==0.3.0
      - websocket-client==1.3.1
      - websockets==9.1
      - werkzeug==2.0.3
      - wrapt==1.16.0
      - wsproto==1.0.0
      - zstd==1.5.6.6
prefix: /opt/conda/envs/PySyft

test/torch/tensors/test_autograd.py::test_share_with_requires_grad
test/torch/hook/test_hook_args.py::test_backward_multiple_use test/torch/tensors/test_autograd.py::test_remote_share_with_requires_grad test/torch/tensors/test_autograd.py::test_train_remote_autograd_tensor
test/torch/hook/test_hook_args.py::test_build_rule_syft_tensors_and_pointers test/torch/hook/test_hook_args.py::test_build_rule_numpy test/torch/tensors/test_autograd.py::test_wrap test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[True-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[True-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[True-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[True-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[False-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[False-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[False-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_autograd[False-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_inplace_binary_cmd_with_autograd[__iadd__] test/torch/tensors/test_autograd.py::test_backward_for_inplace_binary_cmd_with_autograd[__isub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes0-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes0-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes1-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes1-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes2-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes2-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes3-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes3-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes4-__add__] test/torch/tensors/test_autograd.py::test_backward_for_binary_cmd_with_inputs_of_different_dim_and_autograd[shapes4-__sub__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_with_autograd[True-__add__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_with_autograd[True-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_with_autograd[True-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_with_autograd[False-__add__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_with_autograd[False-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_with_autograd[False-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_remote_inplace_binary_cmd_with_autograd[__iadd__] test/torch/tensors/test_autograd.py::test_backward_for_remote_inplace_binary_cmd_with_autograd[__isub__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_local_autograd[__add__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_local_autograd[__mul__] test/torch/tensors/test_autograd.py::test_backward_for_remote_binary_cmd_local_autograd[__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_remote_unary_cmd_local_autograd[sqrt] test/torch/tensors/test_autograd.py::test_backward_for_remote_unary_cmd_local_autograd[asin] test/torch/tensors/test_autograd.py::test_backward_for_remote_unary_cmd_local_autograd[sin] test/torch/tensors/test_autograd.py::test_backward_for_remote_unary_cmd_local_autograd[sinh] test/torch/tensors/test_autograd.py::test_backward_for_remote_unary_cmd_local_autograd[tanh] test/torch/tensors/test_autograd.py::test_backward_for_remote_unary_cmd_local_autograd[sigmoid] test/torch/tensors/test_autograd.py::test_backward_for_fix_prec_binary_cmd_with_autograd[True-__add__] test/torch/tensors/test_autograd.py::test_backward_for_fix_prec_binary_cmd_with_autograd[True-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_fix_prec_binary_cmd_with_autograd[True-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_fix_prec_binary_cmd_with_autograd[False-__add__] test/torch/tensors/test_autograd.py::test_backward_for_fix_prec_binary_cmd_with_autograd[False-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_fix_prec_binary_cmd_with_autograd[False-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_linear_model_on_fix_prec_params_with_autograd test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_binary_cmd_with_autograd[True-__add__] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_binary_cmd_with_autograd[True-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_binary_cmd_with_autograd[True-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_binary_cmd_with_autograd[False-__add__] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_binary_cmd_with_autograd[False-__mul__] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_binary_cmd_with_autograd[False-__matmul__] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_div_with_autograd[True] test/torch/tensors/test_autograd.py::test_backward_for_additive_shared_div_with_autograd[False] test/torch/tensors/test_autograd.py::test_addmm_backward_for_additive_shared_with_autograd test/torch/tensors/test_autograd.py::test_relu_backward_or_additive_shared_with_autograd test/torch/tensors/test_autograd.py::test_backward_for_linear_model_on_additive_shared_with_autograd test/torch/tensors/test_autograd.py::test_encrypted_training_with_linear_model test/torch/tensors/test_autograd.py::test_get_float_prec_on_autograd_tensor test/torch/tensors/test_autograd.py::test_serialize_deserialize_autograd_tensor test/torch/tensors/test_autograd.py::test_types_auto_remote_tensors
syft/frameworks/torch/hook/hook_args.py syft/frameworks/torch/tensors/interpreters/autograd.py
syft/frameworks/torch/hook/hook_args.py syft/frameworks/torch/tensors/interpreters/autograd.py