model = SqueezeNext()
model = model.to(device)
def load_checkpoint(model, optimizer, losslogger, filename='SqNxt_23_1x_Cifar.ckpt'):
# Note: Input model & optimizer should be pre-defined. This routine only updates their states.
start_epoch = 0
if os.path.isfile(filename):
print("=> loading checkpoint '{}'".format(filename))
checkpoint = torch.load(filename)
start_epoch = checkpoint['epoch']
model.load_state_dict(checkpoint['state_dict'])
optimizer.load_state_dict(checkpoint['optimizer'])
losslogger = checkpoint['losslogger']
print("=> loaded checkpoint '{}' (epoch {})"
.format(filename, checkpoint['epoch']))
else:
print("=> no checkpoint found at '{}'".format(filename))
return model, optimizer, start_epoch, losslogger
model, optimizer, start_epoch, losslogger = load_checkpoint(model, optimizer, losslogger)
TypeError: Traceback (most recent call last) in () 41 test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=80, num_workers=8, shuffle=False) 42 ---> 43 model = SqueezeNext() 44 model = model.to(device) 45 def load_checkpoint(model, optimizer, losslogger, filename='SqNxt_23_1x_Cifar.ckpt'): TypeError: init() missing 3 required positional arguments: 'width_x', 'blocks', and 'num_classes'
我认为我没有以正确的方式来实施这一点!!在
您的错误不是来自检查点函数。如果我们看看回溯:
我们被告知的底线正在突破第43行:
^{pr2}$错误是:
我假设您使用的是squezenext的this implementation,但是无论使用哪种实现,都没有传递初始化模型所需的所有参数。您需要将代码更改为类似于:
^{4}$如果不使用该实现,则需要找到
SqueezeNext
模型的源代码,并查看__init__
函数需要哪些参数。你可以试试这个:它应该给你签名。在
相关问题 更多 >
编程相关推荐