Yes, that is right. I’ve tried with ResNet, there I have another kind of a problem ->
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-28-448339389201> in <module>
      1 for epoch in range(1, args.epochs + 1):
----> 2     train(args, model, device, federated_train_loader, optimizer, epoch)

<ipython-input-14-9b8111af22ce> in train(args, model, device, train_loader, optimizer, epoch)
      5         data, target = data.to(device), target.to(device)
      6         optimizer.zero_grad()
----> 7         output = model(data)
      8         loss = F.nll_loss(output, target)
      9         loss.backward()

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    491             result = self._slow_forward(*input, **kwargs)
    492         else:
--> 493             result = self.forward(*input, **kwargs)
    494         for hook in self._forward_hooks.values():
    495             hook_result = hook(self, input, result)

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/torchvision/models/resnet.py in forward(self, x)
    191     def forward(self, x):
    192         x = self.conv1(x)
--> 193         x = self.bn1(x)
    194         x = self.relu(x)
    195         x = self.maxpool(x)

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    491             result = self._slow_forward(*input, **kwargs)
    492         else:
--> 493             result = self.forward(*input, **kwargs)
    494         for hook in self._forward_hooks.values():
    495             hook_result = hook(self, input, result)

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/torch/nn/modules/batchnorm.py in forward(self, input)
     59     @weak_script_method
     60     def forward(self, input):
---> 61         self._check_input_dim(input)
     62 
     63         # exponential_average_factor is self.momentum set to

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/torch/nn/modules/batchnorm.py in _check_input_dim(self, input)
    246     @weak_script_method
    247     def _check_input_dim(self, input):
--> 248         if input.dim() != 4:
    249             raise ValueError('expected 4D input (got {}D input)'
    250                              .format(input.dim()))

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/syft/frameworks/torch/hook/hook.py in overloaded_native_method(self, *args, **kwargs)
    675                 # Send the new command to the appropriate class and get the response
    676                 method = getattr(new_self, method_name)
--> 677                 response = method(*new_args, **new_kwargs)
    678 
    679                 # For inplace methods, just directly return self

~/miniconda3/envs/pysyft/lib/python3.7/site-packages/syft/frameworks/torch/pointers/pointer_tensor.py in dim(self)
    194 
    195     def dim(self) -> int:
--> 196         return len(self._shape)
    197 
    198     def share(self, *args, **kwargs):

TypeError: object of type 'NoneType' has no len()