Here it is :
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-df22c32abf0a> in <module>
      2 t = time.time()
      3 for epoch in range(1, args.epochs + 1):
----> 4     trains(epoch)
      5 
      6 

<ipython-input-17-5a23fe3794d1> in trains(epoch)
     13         loss = criterion(output_train, target.unsqueeze(1).type_as(output_train))
     14         loss.backward()
---> 15         optimizer.step()
     16         model.get()
     17 

/opt/conda/lib/python3.6/site-packages/torch/optim/adam.py in step(self, closure)
     93 
     94                 # Decay the first and second moment running average coefficient
---> 95                 exp_avg.mul_(beta1).add_(1 - beta1, grad)
     96                 exp_avg_sq.mul_(beta2).addcmul_(1 - beta2, grad, grad)
     97                 if amsgrad:

/opt/conda/lib/python3.6/site-packages/syft/generic/frameworks/hook/hook.py in overloaded_native_method(self, *args, **kwargs)
    208                 # Send the new command to the appropriate class and get the response
    209                 method = getattr(new_self, method_name)
--> 210                 response = method(*new_args, **new_kwargs)
    211 
    212                 # For inplace methods, just directly return self

/opt/conda/lib/python3.6/site-packages/syft/generic/frameworks/hook/pointers.py in overloaded_pointer_method(self, *args, **kwargs)
     82 
     83             # Send the command
---> 84             response = owner.send_command(location, attr, self, args, kwargs)
     85 
     86             # For inplace methods, just directly return self

/opt/conda/lib/python3.6/site-packages/syft/workers/base.py in send_command(self, recipient, cmd_name, target, args_, kwargs_, return_ids, return_value)
    624                 cmd_name, target, args_, kwargs_, return_ids, return_value
    625             )
--> 626             ret_val = self.send_msg(message, location=recipient)
    627         except ResponseSignatureError as e:
    628             ret_val = None

/opt/conda/lib/python3.6/site-packages/syft/workers/base.py in send_msg(self, message, location)
    272 
    273         # Step 2: send the message and wait for a response
--> 274         bin_response = self._send_msg(bin_message, location)
    275 
    276         # Step 3: deserialize the response

/opt/conda/lib/python3.6/site-packages/syft/workers/virtual.py in _send_msg(self, message, location)
     14             sleep(self.message_pending_time)
     15 
---> 16         return location._recv_msg(message)
     17 
     18     def _recv_msg(self, message: bin) -> bin:

/opt/conda/lib/python3.6/site-packages/syft/workers/virtual.py in _recv_msg(self, message)
     18     def _recv_msg(self, message: bin) -> bin:
     19         """receive message"""
---> 20         return self.recv_msg(message)
     21 
     22     # For backwards compatibility with Udacity course

/opt/conda/lib/python3.6/site-packages/syft/workers/base.py in recv_msg(self, bin_message)
    308 
    309         # Step 2: route message to appropriate function
--> 310         response = self._message_router[type(msg)](msg)
    311 
    312         # Step 3: Serialize the message to simple python objects

/opt/conda/lib/python3.6/site-packages/syft/workers/base.py in execute_tensor_command(self, cmd)
    449     def execute_tensor_command(self, cmd: TensorCommandMessage) -> PointerTensor:
    450         if isinstance(cmd.action, ComputationAction):
--> 451             return self.execute_computation_action(cmd.action)
    452         else:
    453             return self.execute_communication_action(cmd.action)

/opt/conda/lib/python3.6/site-packages/syft/workers/base.py in execute_computation_action(self, action)
    487                 # TODO[jvmancuso]: figure out a good way to generalize the
    488                 # above check (#2530)
--> 489                 getattr(_self, op_name)(*args_, **kwargs_)
    490                 return
    491             else:

/opt/conda/lib/python3.6/site-packages/syft/generic/frameworks/hook/hook.py in overloaded_native_method(self, *args, **kwargs)
    168                 except BaseException as e:
    169                     # we can make some errors more descriptive with this method
--> 170                     raise route_method_exception(e, self, args, kwargs)
    171 
    172             else:  # means that there is a wrapper to remove

/opt/conda/lib/python3.6/site-packages/syft/generic/frameworks/hook/hook.py in overloaded_native_method(self, *args, **kwargs)
    164 
    165                 try:
--> 166                     response = method(*args, **kwargs)
    167 
    168                 except BaseException as e:

TypeError: add_() takes 1 positional argument but 2 were given