如何在培训UNET模型中处理NotimplemplementError?
def train_fn(data_loader, model, optimizer):
model.train()
total_loss = 0.0
for images, masks in tqdm(data_loader):
images = images.to(DEVICE)
masks = masks.to(DEVICE)
optimizer.zero_grad()
logits, loss = model(images,masks)
loss.backward()
optimizer.step()
total_loss += loss.item()
return total_loss/ len(data_loader)
def eval_fn(data_loader, model):
model.eval()
total_loss = 0.0
with torch.no_grad():
for images, masks in tqdm(data_loader):
images = images.to(DEVICE)
masks = masks.to(DEVICE)
logits, loss = model(images,masks)
total_loss += loss.item()
return total_loss/ len(data_loader)
optimizer = torch.optim.Adam(model.parameters(), lr = LR)
best_valid_loss = np.Inf
for i in range(EPOCHS):
train_loss = train_fn(trainloader, model, optimizer)
valid_loss = eval_fn(validloader, model)
if valid_loss < best_valid_loss:
torch.save(model.state_dict(), 'best_model.pt')
print("SAVED_MODEL")
best_valid_loss = valid_loss
print(f“ epoch:{i+1} train_loss:{train_loss}有效_loss:{有效_loss}”)
当我尝试训练模型时,我会出现以下错误:
0%| | 0/15 [00:00&lt;?,?it/s]
NotimplemplededError Trackback(最近的最新通话最后) 在 () 4 5 ----&gt; 6 train_loss = train_fn(火车负载器,模型,优化器) 7有效_loss = eval_fn(有效载荷,模型) 8
2帧 /USR/local/lib/python3.7/dist-packages/torch/nn/modules/module.py.py in _forward_unimplemented(self, *input) 199个注册钩子,而后者默默地忽略了它们。 200“” - &gt; 201#提高通知 202 203
NotimplementedError:
我该如何处理?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查看您在评论中提供的链接,您的模型定义看起来像这样:
如果您近距离看,您会看到
forward()
具有不稳定的额外凹痕,使其成为内部功能__ INIT __()
而不是SemengeationModel
的方法。将其转移到左侧,应该很好地工作:Looking at the link you provided in the comment, your model definition looks like this:
If you look close, you'll see
forward()
has an erratic extra indentation, making it an internal function inside__init__()
rather than a method of aSegmentationModel
. Shift it a bit to left, and it should work fine: