prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  EfficientDet images_size has to be divisible by 128
  ## 📓 Documentation Update
  **What part of documentation was unclear or wrong?**
  It has to be clear that the image size for the efficientdet model has to be divisible by 128
  
  **Describe the solution you'd like**
  Add this information to the `efficientdet/model.py` docstring and also make it explicit in the tutorials that use efficientdet.
  
  
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `icevision/models/efficientdet/model.py`
  Content:
  ```
  1 __all__ = ["model"]
  2 
  3 from icevision.imports import *
  4 from icevision.utils import *
  5 from effdet import get_efficientdet_config, EfficientDet, DetBenchTrain, unwrap_bench
  6 from effdet import create_model_from_config
  7 from effdet.efficientdet import HeadNet
  8 
  9 
  10 def model(
  11     model_name: str, num_classes: int, img_size: int, pretrained: bool = True
  12 ) -> nn.Module:
  13     """Creates the efficientdet model specified by `model_name`.
  14 
  15     The model implementation is by Ross Wightman, original repo
  16     [here](https://github.com/rwightman/efficientdet-pytorch).
  17 
  18     # Arguments
  19         model_name: Specifies the model to create. For pretrained models, check
  20             [this](https://github.com/rwightman/efficientdet-pytorch#models) table.
  21         num_classes: Number of classes of your dataset (including background).
  22         img_size: Image size that will be fed to the model. Must be squared and
  23             divisible by 64.
  24         pretrained: If True, use a pretrained backbone (on COCO).
  25 
  26     # Returns
  27         A PyTorch model.
  28     """
  29     config = get_efficientdet_config(model_name=model_name)
  30     config.image_size = (img_size, img_size) if isinstance(img_size, int) else img_size
  31 
  32     model_bench = create_model_from_config(
  33         config,
  34         bench_task="train",
  35         bench_labeler=True,
  36         num_classes=num_classes,
  37         pretrained=pretrained,
  38     )
  39 
  40     # TODO: Break down param groups for backbone
  41     def param_groups_fn(model: nn.Module) -> List[List[nn.Parameter]]:
  42         unwrapped = unwrap_bench(model)
  43 
  44         layers = [
  45             unwrapped.backbone,
  46             unwrapped.fpn,
  47             nn.Sequential(unwrapped.class_net, unwrapped.box_net),
  48         ]
  49         param_groups = [list(layer.parameters()) for layer in layers]
  50         check_all_model_params_in_groups2(model, param_groups)
  51 
  52         return param_groups
  53 
  54     model_bench.param_groups = MethodType(param_groups_fn, model_bench)
  55 
  56     return model_bench
  57
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/icevision/models/efficientdet/model.py b/icevision/models/efficientdet/model.py
  --- a/icevision/models/efficientdet/model.py
  +++ b/icevision/models/efficientdet/model.py
  @@ -20,7 +20,7 @@
               [this](https://github.com/rwightman/efficientdet-pytorch#models) table.
           num_classes: Number of classes of your dataset (including background).
           img_size: Image size that will be fed to the model. Must be squared and
  -            divisible by 64.
  +            divisible by 128.
           pretrained: If True, use a pretrained backbone (on COCO).
   
       # Returns
  
verification_info: {"golden_diff": "diff --git a/icevision/models/efficientdet/model.py b/icevision/models/efficientdet/model.py\n--- a/icevision/models/efficientdet/model.py\n+++ b/icevision/models/efficientdet/model.py\n@@ -20,7 +20,7 @@\n             [this](https://github.com/rwightman/efficientdet-pytorch#models) table.\n         num_classes: Number of classes of your dataset (including background).\n         img_size: Image size that will be fed to the model. Must be squared and\n-            divisible by 64.\n+            divisible by 128.\n         pretrained: If True, use a pretrained backbone (on COCO).\n \n     # Returns\n", "issue": "EfficientDet images_size has to be divisible by 128\n## \ud83d\udcd3 Documentation Update\r\n**What part of documentation was unclear or wrong?**\r\nIt has to be clear that the image size for the efficientdet model has to be divisible by 128\r\n\r\n**Describe the solution you'd like**\r\nAdd this information to the `efficientdet/model.py` docstring and also make it explicit in the tutorials that use efficientdet.\r\n\r\n\r\n\n", "before_files": [{"content": "__all__ = [\"model\"]\n\nfrom icevision.imports import *\nfrom icevision.utils import *\nfrom effdet import get_efficientdet_config, EfficientDet, DetBenchTrain, unwrap_bench\nfrom effdet import create_model_from_config\nfrom effdet.efficientdet import HeadNet\n\n\ndef model(\n    model_name: str, num_classes: int, img_size: int, pretrained: bool = True\n) -> nn.Module:\n    \"\"\"Creates the efficientdet model specified by `model_name`.\n\n    The model implementation is by Ross Wightman, original repo\n    [here](https://github.com/rwightman/efficientdet-pytorch).\n\n    # Arguments\n        model_name: Specifies the model to create. For pretrained models, check\n            [this](https://github.com/rwightman/efficientdet-pytorch#models) table.\n        num_classes: Number of classes of your dataset (including background).\n        img_size: Image size that will be fed to the model. Must be squared and\n            divisible by 64.\n        pretrained: If True, use a pretrained backbone (on COCO).\n\n    # Returns\n        A PyTorch model.\n    \"\"\"\n    config = get_efficientdet_config(model_name=model_name)\n    config.image_size = (img_size, img_size) if isinstance(img_size, int) else img_size\n\n    model_bench = create_model_from_config(\n        config,\n        bench_task=\"train\",\n        bench_labeler=True,\n        num_classes=num_classes,\n        pretrained=pretrained,\n    )\n\n    # TODO: Break down param groups for backbone\n    def param_groups_fn(model: nn.Module) -> List[List[nn.Parameter]]:\n        unwrapped = unwrap_bench(model)\n\n        layers = [\n            unwrapped.backbone,\n            unwrapped.fpn,\n            nn.Sequential(unwrapped.class_net, unwrapped.box_net),\n        ]\n        param_groups = [list(layer.parameters()) for layer in layers]\n        check_all_model_params_in_groups2(model, param_groups)\n\n        return param_groups\n\n    model_bench.param_groups = MethodType(param_groups_fn, model_bench)\n\n    return model_bench\n", "path": "icevision/models/efficientdet/model.py"}], "after_files": [{"content": "__all__ = [\"model\"]\n\nfrom icevision.imports import *\nfrom icevision.utils import *\nfrom effdet import get_efficientdet_config, EfficientDet, DetBenchTrain, unwrap_bench\nfrom effdet import create_model_from_config\nfrom effdet.efficientdet import HeadNet\n\n\ndef model(\n    model_name: str, num_classes: int, img_size: int, pretrained: bool = True\n) -> nn.Module:\n    \"\"\"Creates the efficientdet model specified by `model_name`.\n\n    The model implementation is by Ross Wightman, original repo\n    [here](https://github.com/rwightman/efficientdet-pytorch).\n\n    # Arguments\n        model_name: Specifies the model to create. For pretrained models, check\n            [this](https://github.com/rwightman/efficientdet-pytorch#models) table.\n        num_classes: Number of classes of your dataset (including background).\n        img_size: Image size that will be fed to the model. Must be squared and\n            divisible by 128.\n        pretrained: If True, use a pretrained backbone (on COCO).\n\n    # Returns\n        A PyTorch model.\n    \"\"\"\n    config = get_efficientdet_config(model_name=model_name)\n    config.image_size = (img_size, img_size) if isinstance(img_size, int) else img_size\n\n    model_bench = create_model_from_config(\n        config,\n        bench_task=\"train\",\n        bench_labeler=True,\n        num_classes=num_classes,\n        pretrained=pretrained,\n    )\n\n    # TODO: Break down param groups for backbone\n    def param_groups_fn(model: nn.Module) -> List[List[nn.Parameter]]:\n        unwrapped = unwrap_bench(model)\n\n        layers = [\n            unwrapped.backbone,\n            unwrapped.fpn,\n            nn.Sequential(unwrapped.class_net, unwrapped.box_net),\n        ]\n        param_groups = [list(layer.parameters()) for layer in layers]\n        check_all_model_params_in_groups2(model, param_groups)\n\n        return param_groups\n\n    model_bench.param_groups = MethodType(param_groups_fn, model_bench)\n\n    return model_bench\n", "path": "icevision/models/efficientdet/model.py"}]}