TypeError: forward() missing 1 required positional argument: ‘x‘

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()

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

你可能感兴趣的:(pytorch)