__init__() 得到了意外的关键字参数 'chi1'
__init__() got an unexpected keyword argument 'chi1'
我是 python 的新人。我正在尝试将参数导入我的 class "inverse_model" 。我调用一个函数“get_models”来做到这一点。但它给了我错误“init() 得到了一个意外的关键字参数 'zz':
感谢帮助。请看下面的代码:
def get_models(args):
zz=torch.tensor(args.chi_Initialize)
inverse_net = inverse_model(in_channels=len(args.chi),zz=zz,resolution_ratio=args.resolution_ratio,nonlinearity=args.nonlinearity)
return inverse_net
class inverse_model(nn.Module):
def __init__(self, in_channels,zz,resolution_ratio=6,nonlinearity="tanh"):
super(inverse_model, self).__init__()
self.in_channels = in_channels
self.zz=zz
self.resolution_ratio = resolution_ratio #vertical scale mismtach between seismic and EI
self.activation = nn.ReLU() if nonlinearity=="relu" else nn.Tanh()
默认参数后,python不允许有非默认参数。
将您的构造函数修改为
def __init__(self, in_channels,
chi1,chi2,chi3,chi4,chi5,chi6,chi7,chi8,chi9,
chi10,chi11,chi12, resolution_ratio=6,nonlinearity="tanh"):
更新答案:修订版 1(更新问题)
import torch
from torch import nn
class inverse_model(nn.Module):
def __init__(self, in_channels, zz, resolution_ratio=6, nonlinearity="tanh"):
super(inverse_model, self).__init__()
self.in_channels = in_channels
self.zz = zz
self.resolution_ratio = resolution_ratio # vertical scale mismtach between seismic and EI
self.activation = nn.ReLU() if nonlinearity == "relu" else nn.Tanh()
def get_models(args):
zz = torch.tensor(args.chi_Initialize)
inverse_net = inverse_model(in_channels=len(args.chi), zz=zz, resolution_ratio=args.resolution_ratio,
nonlinearity=args.nonlinearity)
return inverse_net
它 returns exit 0
作为状态。
我是 python 的新人。我正在尝试将参数导入我的 class "inverse_model" 。我调用一个函数“get_models”来做到这一点。但它给了我错误“init() 得到了一个意外的关键字参数 'zz':
感谢帮助。请看下面的代码:
def get_models(args):
zz=torch.tensor(args.chi_Initialize)
inverse_net = inverse_model(in_channels=len(args.chi),zz=zz,resolution_ratio=args.resolution_ratio,nonlinearity=args.nonlinearity)
return inverse_net
class inverse_model(nn.Module):
def __init__(self, in_channels,zz,resolution_ratio=6,nonlinearity="tanh"):
super(inverse_model, self).__init__()
self.in_channels = in_channels
self.zz=zz
self.resolution_ratio = resolution_ratio #vertical scale mismtach between seismic and EI
self.activation = nn.ReLU() if nonlinearity=="relu" else nn.Tanh()
默认参数后,python不允许有非默认参数。
将您的构造函数修改为
def __init__(self, in_channels,
chi1,chi2,chi3,chi4,chi5,chi6,chi7,chi8,chi9,
chi10,chi11,chi12, resolution_ratio=6,nonlinearity="tanh"):
更新答案:修订版 1(更新问题)
import torch
from torch import nn
class inverse_model(nn.Module):
def __init__(self, in_channels, zz, resolution_ratio=6, nonlinearity="tanh"):
super(inverse_model, self).__init__()
self.in_channels = in_channels
self.zz = zz
self.resolution_ratio = resolution_ratio # vertical scale mismtach between seismic and EI
self.activation = nn.ReLU() if nonlinearity == "relu" else nn.Tanh()
def get_models(args):
zz = torch.tensor(args.chi_Initialize)
inverse_net = inverse_model(in_channels=len(args.chi), zz=zz, resolution_ratio=args.resolution_ratio,
nonlinearity=args.nonlinearity)
return inverse_net
它 returns exit 0
作为状态。