I have forked the ultralytics repo and cloned to my local env. Then I followed below steps to setup.
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .
Then I have added my custom module it worked. But when I try running in Kaggle it is not working and gives me below error message.
/usr/local/lib/python3.11/dist-packages/torch/nn/init.py:511: UserWarning: Initializing zero-element tensors is a no-op
warnings.warn("Initializing zero-element tensors is a no-op")
Traceback (most recent call last):
File "/kaggle/working/ultralytics/tests/model_validity2.py", line 6, in <module>
model = YOLO("/kaggle/working/ultralytics/ultralytics/cfg/models/12/swin-t-12.yaml",task='detect')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/kaggle/working/ultralytics/ultralytics/models/yolo/model.py", line 81, in __init__
super().__init__(model=model, task=task, verbose=verbose)
File "/kaggle/working/ultralytics/ultralytics/engine/model.py", line 147, in __init__
self._new(model, task=task, verbose=verbose)
File "/kaggle/working/ultralytics/ultralytics/engine/model.py", line 255, in _new
self.model = (model or self._smart_load("model"))(cfg_dict, verbose=verbose and RANK == -1) # build model
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/kaggle/working/ultralytics/ultralytics/nn/tasks.py", line 387, in __init__
self.model, self.save = parse_model(deepcopy(self.yaml), ch=ch, verbose=verbose) # model, savelist
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/kaggle/working/ultralytics/ultralytics/nn/tasks.py", line 1650, in parse_model
m_ = torch.nn.Sequential(*(m(*args) for _ in range(n))) if n > 1 else m(*args) # module
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/kaggle/working/ultralytics/ultralytics/nn/tasks.py", line 1650, in <genexpr>
m_ = torch.nn.Sequential(*(m(*args) for _ in range(n))) if n > 1 else m(*args) # module
^^^^^^^^
File "/kaggle/working/ultralytics/ultralytics/nn/modules/swin_transformers.py", line 88, in __init__
self.cv3 = Conv(2 * c_, c2, 1, 1)
^^^^^^^^^^^^^^^^^^^^^^
File "/kaggle/working/ultralytics/ultralytics/nn/modules/conv.py", line 65, in __init__
self.conv = nn.Conv2d(c1, c2, k, s, autopad(k, p, d), groups=g, dilation=d, bias=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/torch/nn/modules/conv.py", line 521, in __init__
super().__init__(
File "/usr/local/lib/python3.11/dist-packages/torch/nn/modules/conv.py", line 166, in __init__
torch.empty(
TypeError: empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType), but expected one of:
* (tuple of ints size, *, tuple of names names, torch.memory_format memory_format = None, torch.dtype dtype = None, torch.layout layout = None, torch.device device = None, bool pin_memory = False, bool requires_grad = False)
* (tuple of ints size, *, torch.memory_format memory_format = None, Tensor out = None, torch.dtype dtype = None, torch.layout layout = None, torch.device device = None, bool pin_memory = False, bool requires_grad = False)
What I have done wrong in the setting up?
forked repo : GitHub - pawara101/ultralytics: Ultralytics YOLO 🚀
when I run in kaggle I have done below steps
!git clone https://github.com/pawara101/ultralytics.git
%cd ultralytics
!pip install -e .