2017-11-25 86 views
0

我正在训练与tensorflow一个resNet50,使用具有这些特性的共享服务器的实例后,叫:Tensorflow终止扔 '的std :: SYSTEM_ERROR'

  • 的Ubuntu 16.04
  • 3 GTX GPU的1080
  • tensorflow 1.3
  • 蟒2.7

但总是两个时代之后,第三个历元期间,我会遇到这样的错误:

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

与添加在我的代码一些打印,我发现问题出在哪里:

这是转换tfrecord到数据集:

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() 

,这是我输入pipline

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

由于我的打印输出,错误是针对此行的:

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

但我没有看到任何问题,你现在可以帮我吗?

+0

这是很难找到这样的限制的原因错误日志。如果可能的话,在'python2.7-dbg'下运行你的代码以获得核心转储,然后上传核心文件(通常在Ubuntu的'/ var/crash'下) –

+0

@ Qmick Zh 感谢您的回复,我会做与dbg,但现在我已经找到哪一行会导致错误,你现在可以帮我吗? –

+0

@Qmick Zh 应该使用cuda-dbg吗?因为我想使用gpu。 –

回答

0

我也问过我的问题中的另一个主题,并得到我的回答: stack_link

这是关于我的tensorflow代码,这是某种类型的内存泄露

相关问题