RAM运行Tensorflow对象检测API时出错

时间:2017-07-21 22:00:33

标签: tensorflow object-detection

安装Tensorflow Object Detection API并遵循所有说明后,我开始使用自己的数据集进行培训。该程序很快就开始使用所有RAM,并且该过程被杀死。我已经阅读了关于这个主题的所有帖子,似乎没有人有答案。这是试图弄清楚这个问题的原因的另一种尝试。

电脑规格:

  1. 12 GB RAM
  2. Ubuntu 14.04 LTS
  3. tensorflow-GPU
  4. NVIDIA GTX 1070 - 8.0 GB
  5. 日志是:

    INFO:tensorflow:Starting Queues.
    INFO:tensorflow:global_step/sec: 0
    Killed
    

    从别人的写作来看,它绝对是一个内存使用问题。任何帮助都很受欢迎。

2 个答案:

答案 0 :(得分:0)

检查dmesg。如果是内存不足错误,您可以通过增加交换内存来解决此问题。

大量增加您的交换内存分配,开始培训,并查看您的具体问题实际需要多少区域。然后,您可以微调交换内存大小。

答案 1 :(得分:0)

您可以通过调整配置文件来完成此操作。

It turns out大多数RAM由输入队列使用。但由于数据采用超快速tfrecord格式,因此无需保留许多示例。

根据您使用的型号(SSD,更快的R-CNN),这些设置会有所不同,因为SSD可以使用更高批次的FRCNN(基本上使用1批)。

在配置文件中识别或添加以下内容,并使用队列的数字进行播放。

<div class="info">
  <img class="sprite" src="https://cdn.bulbagarden.net/upload/e/ea/113MS.png" />
  <code class="pkmn_name">15Characterssss</code>
  <div class="pkmn_special">
    <img src="https://cdn.bulbagarden.net/upload/c/c5/Leaf_Crown_Sprite.png" />
    <img src="https://image.ibb.co/kB8vi6/heart.png">
    <img src="https://image.ibb.co/e7w4bR/Shiny_VIStar.png">
  </div>
  <div class="exp"> </div>
</div>

通过检查train_config: { # ... other settings batch_size: 1 # this is for FRCNN batch_queue_capacity: 10 num_batch_queue_threads: 4 prefetch_queue_capacity: 5 } train_input_reader: { tf_record_input_reader { input_path: "/path/to/train.tfrecord" } label_map_path: "/path/to/label/map.pbtxt" queue_capacity: 400 min_after_dequeue: 200 } eval_input_reader: { tf_record_input_reader { input_path: "/path/to/eval.tfrecord" } label_map_path: "/path/to/label/map.pbtxt" shuffle: true queue_capacity: 20 min_after_dequeue: 10 num_readers: 1 } 中描述模型所有设置的.proto文件,找到了这些设置和其他设置。