Speech Enhancement Generative Adversarial Network in TensorFlow
Caused by op 'device_0/wav_and_noisy', defined at:
File "/home/chuwei/PycharmProjects/GAN-segan/main.py", line 126, in <module>
tf.app.run()
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "/home/chuwei/PycharmProjects/GAN-segan/main.py", line 92, in main
se_model = SEGAN(sess, FLAGS, udevices) #时间长,出错
File "/home/chuwei/PycharmProjects/GAN-segan/model.py", line 118, in __init__
self.build_model(args)
File "/home/chuwei/PycharmProjects/GAN-segan/model.py", line 134, in build_model
self.build_model_single_gpu(idx)
File "/home/chuwei/PycharmProjects/GAN-segan/model.py", line 165, in build_model_single_gpu
name='wav_and_noisy')
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/training/input.py", line 1165, in shuffle_batch
name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/training/input.py", line 739, in _shuffle_batch
dequeued = queue.dequeue_many(batch_size, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/ops/data_flow_ops.py", line 469, in dequeue_many
self._queue_ref, n=n, component_types=self._dtypes, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 1310, in _queue_dequeue_many_v2
timeout_ms=timeout_ms, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/op_def_library.py", line 763, in apply_op
op_def=op_def)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/ops.py", line 2395, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/ops.py", line 1264, in __init__
self._traceback = _extract_stack()
OutOfRangeError (see above for traceback): RandomShuffleQueue '_1_device_0/wav_and_noisy/random_shuffle_queue' is closed and has insufficient elements (requested 150, current size 0)
[[Node: device_0/wav_and_noisy = QueueDequeueManyV2[component_types=[DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](device_0/wav_and_noisy/random_shuffle_queue, device_0/wav_and_noisy/n)]]
解决方法:
https://github.com/santi-pdp/segan/issues/49 :
作者:这是因为没有正确设置tfRecords的路径,或者没有tfRecords文件。 e2e_dataset:data/segan.tfrecords
长时间停顿:缩小批次大小,这可能会导致问题的解决。
经验:具体问题具体分析
******************************************************************************************************
其他参考:
添加 local 变量,sess.run(tf.local_variables_initializer())
with tf.Session() as sess:
sess.run(tf.local_variables_initializer())
sess.run(tf.global_variables_initializer())
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
# do your stuff here
coord.request_stop()
coord.join(threads)
或者
sess.run(tf.group(tf.local_variables_initializer(), tf.global_variables_initializer()))