2017-11-25 4 views
0

Ich trainiere ein resNet50 mit tensorflow, mit einem gemeinsamen Server mit diesen Eigenschaften genannt:Tensorflow terminate nach dem Werfen einer Instanz von 'std :: system_error'

  • ubuntu 16.04
  • 3 gtx 1080 GPUs
  • tensorflow 1.3
  • python 2,7

aber immer nach zwei Epochen, und während der dritten Epoche, begegne ich diesen Fehler:

terminate called after throwing an instance of 'std::system_error' what(): 
Resource temporarily unavailable 
Aborted (core dumped) 

mit etwas Druck in meinem Code hinzufügen, die ich gefunden habe, wo das Problem ist:

das ist tfrecord zu Dataset konvertieren:

filenames = ["balanced_t.tfrecords"] 
dataset = tf.contrib.data.TFRecordDataset(filenames) 
    def parser(record): 
    keys_to_features = { 
     # "label": tf.FixedLenFeature((), tf.string, default_value=""), 
     "mhot_label_raw": tf.FixedLenFeature((), tf.string, default_value=""), 
     "mel_spec_raw": tf.FixedLenFeature((), tf.string, default_value=""), 
    } 
    parsed = tf.parse_single_example(record, keys_to_features) 

    mel_spec1d = tf.decode_raw(parsed['mel_spec_raw'], tf.float64) 
    # label = tf.cast(parsed["label"], tf.string) 
    mhot_label = tf.decode_raw(parsed['mhot_label_raw'], tf.float64) 
    mel_spec = tf.reshape(mel_spec1d, [96, 64]) 
    # aa=mel_spec 
    return {"mel_data": mel_spec}, mhot_label 
    dataset = dataset.map(parser) 
    dataset = dataset.batch(batch_size) 
    dataset = dataset.repeat(3) 
    iterator = dataset.make_one_shot_iterator() 

und dies ist mein Eingang pipline

while True: 
      try: 
       (features, labels) = sess.run(iterator.get_next()) 
      except tf.errors.OutOfRangeError: 
       print("end of training dataset") 

aufgrund meiner Drucke Ausgabe ist der Fehler für diese Zeile:

(features, labels) = sess.run(iterator.get_next()) 

aber ich sehe kein Problem, können Sie mir jetzt helfen?

+0

Leck Es ist schwer, den Grund mit so begrenzt zu finden Fehlerprotokoll. Wenn möglich, führe deinen Code unter 'python2.7-dbg' aus, um einen Core-Dump zu erhalten und dann die Core-Datei hochzuladen (normalerweise unter'/var/crash' für Ubuntu) –

+0

@ Qmick Zh danke für deine Antwort, werde ich tun mit dbg, aber jetzt habe ich festgestellt, welche Zeile Fehler verursachen, können Sie mir jetzt helfen? –

+0

@Qmick Zh sollte ich cuda-dbg verwenden, weil ich GPU verwenden möchte. –

Antwort

0

ich meine Frage in einem anderen Thema gefragt habe, und bekam meine Antwort: stack_link

Es geht um meinen tensorflow Code war, es war eine Art von Speicher

Verwandte Themen