在对 Cityscapes 语义分割数据集进行 deeplab v3+ 训练时遇到错误

Posted

技术标签:

【中文标题】在对 Cityscapes 语义分割数据集进行 deeplab v3+ 训练时遇到错误【英文标题】:encounter error during deeplab v3+ training on Cityscapes Semantic Segmentation Dataset 【发布时间】:2018-08-21 11:39:42 【问题描述】:

所有,

我在guide 之后使用 deeplab v3+ 开始训练过程。但是,在步骤 1480 之后,我得到了错误:

Error reported to Coordinator: Nan in summary histogram for: image_pooling/BatchNorm/moving_variance_2

详细的火车日志是here

有人可以建议如何解决这个问题吗?谢了!

【问题讨论】:

我在我的系统中使用 TF1.6 【参考方案1】:

根据日志,您似乎正在使用 batch_size = 1、fine_tune_batch_norm = True(默认值)进行训练。由于您在训练期间微调了批规范,因此最好将批大小设置得尽可能大(请参阅 train.py 中的 comments 和 FAQ 中的 Q5)。如果只有有限的 GPU 内存可用,您可以从提供的预训练检查点进行微调,设置 smaller learning ratefine_tune_batch_norm = False(有关详细信息,请参阅 model_zoo.md )。注意确保标志 tf_initial_checkpoint 具有到所需预训练检查点的正确路径。

【讨论】:

您认为“有限的 GPU 内存”是什么?我正在使用具有 6GB 专用内存的 GTX 1060 并得到相同的错误。你认为使用 MobileNet 代替 Xception 可以让我在本地进行训练吗? 是否有可能以较小的 batch_size 达到相同的准确度,也许是通过更长的训练时间?两个 GPU 之间的内存约为 18GB,我似乎只能在内存中容纳 2 个批次

以上是关于在对 Cityscapes 语义分割数据集进行 deeplab v3+ 训练时遇到错误的主要内容,如果未能解决你的问题,请参考以下文章

Cityscapes数据集(智能驾驶场景的语义分割)

图像语义分割 公开数据集 智能驾驶方向

图像语义分割 公开数据集 智能驾驶方向

如何处理语义分割中未知类的平均交集(mIOU)?

图像语义分割 公开数据集 智能驾驶方向

tensorflow语义分割api使用(deeplab训练cityscapes)