File ".\seg_v2\framework.py", line 13, in __init__
    self.net = net().cuda()
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
TypeError: forward() missing 1 required positional argument: 'x'

网上大多数说这个错误的还都是说的YOLO 相关,具体是说训练或者测试的图像数量除以batchsize不是整数
然而这个错误我在分割里遇到的,这些答案都不能解决我的错误,我探索了下,这个错误出现的原因应该是模型调用的机制不同导致的,
如果你的模型是通过下面的方式调用就会报这个错误

self.net = net().cuda()

这个时候换成下面的试试:
self.net = net.cuda()

希望有人能明白我的意思…

File ".\seg_v2\framework.py", line 13, in __init__ self.net = net().cuda() File "C:\Users\Administrator\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 722, in _call_impl result = self.forward(*input, **kwargs)TypeError: forward() TypeError: Caught TypeError in replica 1 on device 1. TypeError: forward() missing 1 required positional argument: 'x' 百度了一下发现是因为我使用了多个显卡,导致在inference阶段,模型和数据不在同一个显卡上,所以后面同时报了: TypeError: forward() missing 1 re...
关于yolov5训练时参数workers和batch-size的理解yolov5训练命令workers和batch-size参数的理解两个参数的调优总结 yolov5训练命令 python .\train.py --data my.yaml --workers 8 --batch-size 32 --epochs 100 yolov5的训练很简单,下载好仓库,装好依赖后,只需自定义一下data目录中的yaml文件就可以了。这里我使用自定义的my.yaml文件,里面就是定义数据集位置和训练种类数和名字。 1 关键点在于:AttributeError: ‘Tensor’ object has no attribute 'ndim’ Traceback (most recent call last): File "run.py", line 79, in <module> for j,(HR,LR) in enumerate(model(ref_im,**kwargs)): File "/home/-/-/p