2017-07-21 3 views
0

Tensorflowオブジェクト検出APIをインストールしてすべての手順を実行した後、私自身のデータセットでトレーニングを開始しました。非常に迅速にプログラムはすべてのRAMを使用し始め、プロセスは終了しました。私はこの主題に関して利用可能なすべての投稿を読んでおり、誰も答えを得ていないようです。これは、この問題の原因が何であるか把握しようとする別の試みです。RAM Tensorflowオブジェクト検出APIを実行中にエラーが発生しました

コンピュータの仕様:

  • tensorflow-GPU
  • NVIDIAのGTX 1070

    1. 12ギガバイトRAM
    2. のUbuntu 14.04 LTS - 8.0ギガバイト

    ログました:

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

    他の人が書いていることは間違いなくメモリ使用の問題です。どんな援助も好評です。

  • +0

    RAMが不足していると思われる理由は何ですか? (h)トップの出力をチェックしましたか? –

    +1

    私はCPUとメモリのパフォーマンスを監視しており、すべてのリソースが必要です。第2に、同じ問題を提示する他のさまざまな投稿があり、すべて同じ問題を示唆しています。つまり、OOMの問題です。 –

    +0

    あなたの画像がどの解像度ですか? –

    答えて

    0

    dmesgを確認してください。メモリ不足エラーの場合は、スワップメモリ​​を増やすことでこれを解決できます。

    スワップメモリ​​の割り当てを増やし、トレーニングを開始し、特定の問題に実際にどのくらいの領域が必要かを確認します。次に、スワップメモリ​​のサイズを微調整することができます。

    0

    設定ファイルを調整することでこれを行うことができます。

    It turns outほとんどのRAMは入力キューによって消費されます。しかし、データは超高速のtfrecordフォーマットであるため、多くのサンプルを用意する必要はありません。

    SSDはFRCNN(基本的に1のバッチを使用)より高いバッチを使用できるため、使用するモデル(SSD、Faster R-CNN)に応じて、これらの設定が異なります。

    設定ファイルで次の項目を特定または追加し、キュー番号を再生します。

    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 
    } 
    

    これらおよび他の設定は、モデルのすべての設定を記述object_detection/protos.protoファイルを検査することで判明されました。

    関連する問題