Tensorflow对象检测API - 在培训期间持续增加RAM使用率

时间:2018-05-24 19:00:50

标签: tensorflow object-detection-api

环境:

  • Tensorflow 1.8-gpu(官方码头集装箱)
  • nVidia 1080ti GPU
  • 64G RAM
  • 输入图片尺寸仅为300x300,其中只有60张用于测试

在训练期间,观察不断增加的内存使用量(来自" top"命令)

  • 步骤-10使用39G
  • step-200使用50G
  • step-2000使用59G
  • ...
  • OOM

使用" ssd_mobilenet_v2"管道并减少批量大小,队列大小和输入阅读器。

不确定为什么内存使用会不断累积,然后它变成OOM。系统是否存储除了权重之外的某些内容或某处存在内存泄漏?内存使用量假设在几个步骤后保持不变?

model {
  ssd {
    num_classes: 2
    image_resizer {
      fixed_shape_resizer {
        height: 300
        width: 300
      }
    }
  }
}

train_config {
  batch_size: 10
  num_steps: 200000
  fine_tune_checkpoint_type: "detection"
  batch_queue_capacity: 10
  num_batch_queue_threads: 10
  prefetch_queue_capacity: 10
}

train_input_reader {
  queue_capacity: 10
  min_after_dequeue: 10
}
eval_config {
  num_examples: 1
  max_evals: 10
  use_moving_averages: false
}
eval_input_reader {
  queue_capacity: 10
  min_after_dequeue: 10
}

1 个答案:

答案 0 :(得分:1)

我在类似的系统上遇到了类似的问题。我通过尝试不同的tf和CUDA版本来解决它。你的OOM崩溃错误是什么样的?

批量大小适用于1080和64 GB RAM。

我可以推荐的另一件事是尝试v1检查点。