model.py
import os
import torch
import torch.nn as nn
import torch.nn.functional as F
import backbones
import decoders
class BasicModel(nn.Module):
def __init__(self, args):
nn.Module.__init__(self)
self.backbone = getattr(backbones, args['backbone'])(**args.get('backbone_args', {}))
self.decoder = getattr(decoders, args['decoder'])(**args.get('decoder_args', {}))
def forward(self, data, *args, **kwargs):
return self.decoder(self.backbone(data), *args, **kwargs)
以防万一,
在主干中,有“mobilenetv3.py”、“resnet.py”。
在解码器中,有'balance_cross_entropy_loss.py'、'dice_loss.py'、'l1_loss.py'、'pss_loss.py'、'seg_detector_loss.py'、'seg_detector.py'、'simple_detection.py'< /p>
cvs.py
import torch
from torch import nn
from model import BasicModel
bm = BasicModel()
...
...
我正在尝试执行其他任务,但我必须先实例化模型。 但是我有这个错误..
Traceback (most recent call last):
File "cvs.py", line 7, in <module>
bm = BasicModel()
TypeError: __init__() missing 1 required positional argument: 'args'
我应该向 BasicModel() 传递什么参数?
在此先感谢您!!!!
答案 0 :(得分:0)
您已声明要在 init 方法中传递 args
:
def __init__(self, args):
因此,如果您尝试实例化 BaseModel
对象,则需要将 args
传递给构造函数。
bm = BasicModel(args)
哪里args = #your defined arguments