satellite_segmentation
satellite_segmentation copied to clipboard
在运行train.py文件时出错
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你的label的范围是怎样的。
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你的label的范围是怎样的。
非常抱歉,我是代码新手,不太清楚你指的 label 范围是什么。我训练所用数据集中的 label 是直接由你所提供的数据集经过 dataset_processing.py 处理得到的。
经过测试我发现如果将 epochs 数量调至1,代码可以正常运行,但只要将 epochs 数量调高便会在第二次训练结束后出现上述错误。
具体错误位置:
loss 0.0 miou 0.19126011596785653 fg_iou 0.0 mcc inf
0%| | 0/2307 [00:00<?, ?it/s]Epoch: 2/4
100%|██████████| 2307/2307 [06:14<00:00, 6.15it/s]
Traceback (most recent call last):
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 204, in <module>
main()
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 174, in main
train_hist = train(train_loader, num_classes, device, net, optimizer, criterion)
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 124, in train
"miou": metrics.get_miou(),
File "D:\pythonscript\repositries\satellite_segmentation-master\utils\metrics.py", line 49, in get_miou
return np.nanmean([self.tn / (self.tn + self.fn + self.fp), self.tp / (self.tp + self.fn + self.fp)])
ZeroDivisionError: division by zero
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你的label的范围是怎样的。
非常抱歉,我是代码新手,不太清楚你指的 label 范围是什么。我训练所用数据集中的 label 是直接由你所提供的数据集经过 dataset_processing.py 处理得到的。 经过测试我发现如果将 epochs 数量调至1,代码可以正常运行,但只要将 epochs 数量调高便会在第二次训练结束后出现上述错误。 具体错误位置:
loss 0.0 miou 0.19126011596785653 fg_iou 0.0 mcc inf
0%| | 0/2307 [00:00<?, ?it/s]Epoch: 2/4
100%|██████████| 2307/2307 [06:14<00:00, 6.15it/s]
Traceback (most recent call last):
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 204, in <module>
main()
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 174, in main
train_hist = train(train_loader, num_classes, device, net, optimizer, criterion)
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 124, in train
"miou": metrics.get_miou(),
File "D:\pythonscript\repositries\satellite_segmentation-master\utils\metrics.py", line 49, in get_miou
return np.nanmean([self.tn / (self.tn + self.fn + self.fp), self.tp / (self.tp + self.fn + self.fp)])
ZeroDivisionError: division by zero
你的label是0或者1还是0或者255
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你的label的范围是怎样的。
非常抱歉,我是代码新手,不太清楚你指的 label 范围是什么。我训练所用数据集中的 label 是直接由你所提供的数据集经过 dataset_processing.py 处理得到的。 经过测试我发现如果将 epochs 数量调至1,代码可以正常运行,但只要将 epochs 数量调高便会在第二次训练结束后出现上述错误。 具体错误位置:
loss 0.0 miou 0.19126011596785653 fg_iou 0.0 mcc inf
0%| | 0/2307 [00:00<?, ?it/s]Epoch: 2/4
100%|██████████| 2307/2307 [06:14<00:00, 6.15it/s]
Traceback (most recent call last):
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 204, in <module>
main()
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 174, in main
train_hist = train(train_loader, num_classes, device, net, optimizer, criterion)
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 124, in train
"miou": metrics.get_miou(),
File "D:\pythonscript\repositries\satellite_segmentation-master\utils\metrics.py", line 49, in get_miou
return np.nanmean([self.tn / (self.tn + self.fn + self.fp), self.tp / (self.tp + self.fn + self.fp)])
ZeroDivisionError: division by zero
你的label是0或者1还是0或者255
是0或者1
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你的label的范围是怎样的。
非常抱歉,我是代码新手,不太清楚你指的 label 范围是什么。我训练所用数据集中的 label 是直接由你所提供的数据集经过 dataset_processing.py 处理得到的。 经过测试我发现如果将 epochs 数量调至1,代码可以正常运行,但只要将 epochs 数量调高便会在第二次训练结束后出现上述错误。 具体错误位置:
loss 0.0 miou 0.19126011596785653 fg_iou 0.0 mcc inf
0%| | 0/2307 [00:00<?, ?it/s]Epoch: 2/4
100%|██████████| 2307/2307 [06:14<00:00, 6.15it/s]
Traceback (most recent call last):
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 204, in <module>
main()
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 174, in main
train_hist = train(train_loader, num_classes, device, net, optimizer, criterion)
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 124, in train
"miou": metrics.get_miou(),
File "D:\pythonscript\repositries\satellite_segmentation-master\utils\metrics.py", line 49, in get_miou
return np.nanmean([self.tn / (self.tn + self.fn + self.fp), self.tp / (self.tp + self.fn + self.fp)])
ZeroDivisionError: division by zero
你的label是0或者1还是0或者255
是0或者1
你可以将train.py 中的validtion part注释掉,然后直接train.py一下,看一下你的输入和example输入有什么区别,我这里刚才跑一下是可以正常训练的。
你好,请问这个问题你解决了吗?我在运行过程中也出现了同样的问题,谢谢!
出现了除零错误,在train()子函数中miou:metrics.get_miou() error:division by zero 希望作者可以解答,感谢!
你的label的范围是怎样的。
非常抱歉,我是代码新手,不太清楚你指的 label 范围是什么。我训练所用数据集中的 label 是直接由你所提供的数据集经过 dataset_processing.py 处理得到的。 经过测试我发现如果将 epochs 数量调至1,代码可以正常运行,但只要将 epochs 数量调高便会在第二次训练结束后出现上述错误。 具体错误位置:
loss 0.0 miou 0.19126011596785653 fg_iou 0.0 mcc inf
0%| | 0/2307 [00:00<?, ?it/s]Epoch: 2/4
100%|██████████| 2307/2307 [06:14<00:00, 6.15it/s]
Traceback (most recent call last):
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 204, in <module>
main()
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 174, in main
train_hist = train(train_loader, num_classes, device, net, optimizer, criterion)
File "D:/pythonscript/repositries/satellite_segmentation-master/train.py", line 124, in train
"miou": metrics.get_miou(),
File "D:\pythonscript\repositries\satellite_segmentation-master\utils\metrics.py", line 49, in get_miou
return np.nanmean([self.tn / (self.tn + self.fn + self.fp), self.tp / (self.tp + self.fn + self.fp)])
ZeroDivisionError: division by zero
你的label是0或者1还是0或者255
是0或者1
你可以将train.py 中的validtion part注释掉,然后直接train.py一下,看一下你的输入和example输入有什么区别,我这里刚才跑一下是可以正常训练的。
非常感谢!我将 validation 注释掉后成功运行,我判断是数据集存在问题导致 miou 数值异常。
请问你训练时mask是什么样的呢?读取labels中的图片后经过ToTensor()处理的数值很小,然后转换为长整型(.long()),mask变为全0了,导致出现除数为0的情况。