在对 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 rate 和 fine_tune_batch_norm = False(有关详细信息,请参阅 model_zoo.md )。注意确保标志 tf_initial_checkpoint 具有到所需预训练检查点的正确路径。
【讨论】:
您认为“有限的 GPU 内存”是什么?我正在使用具有 6GB 专用内存的 GTX 1060 并得到相同的错误。你认为使用 MobileNet 代替 Xception 可以让我在本地进行训练吗? 是否有可能以较小的 batch_size 达到相同的准确度,也许是通过更长的训练时间?两个 GPU 之间的内存约为 18GB,我似乎只能在内存中容纳 2 个批次以上是关于在对 Cityscapes 语义分割数据集进行 deeplab v3+ 训练时遇到错误的主要内容,如果未能解决你的问题,请参考以下文章