import tensorflow as tf
print(tf.__version__)
1.6.0
tf.reset_default_graph()
q = tf.FIFOQueue(capacity=10, dtypes=[tf.float32], shapes=[()])
v = tf.placeholder(tf.float32)
enqueue = q.enqueue([v])
dequeue = q.dequeue()
output = dequeue + 1
config = tf.ConfigProto()
with tf.Session(config=config) as sess:
sess.run(enqueue, feed_dict={v: 1.0})
sess.run(enqueue, feed_dict={v: 2.0})
sess.run(enqueue, feed_dict={v: 3.0})
print(sess.run(output))
print(sess.run(output))
print(sess.run(output))
run_option = tf.RunOptions() #run() 함수에서 Option을 설정하는 방법
run_option.timeout_in_ms = 1000 #1초 타임 아웃
try:
print(sess.run(output, options=run_option))
#print(sess.run(output))
except tf.errors.DeadlineExceededError as ex:
print("dequeue 타임 아웃")
2.0 3.0 4.0
tf.reset_default_graph()
q = tf.FIFOQueue(capacity=10, dtypes=[tf.float32], shapes=[()])
v = tf.placeholder(tf.float32)
enqueue = q.enqueue([v])
dequeue = q.dequeue()
output = dequeue + 1
config = tf.ConfigProto()
config.operation_timeout_in_ms = 1000 # 1초 타임 아웃, 세션에서 타임아웃을 지정하여 어떤 연산이라도 타임아웃 시간 보다 오래 걸리면 타임 아웃
with tf.Session(config=config) as sess:
sess.run(enqueue, feed_dict={v: 1.0})
sess.run(enqueue, feed_dict={v: 2.0})
sess.run(enqueue, feed_dict={v: 3.0})
print(sess.run(output))
print(sess.run(output))
print(sess.run(output))
try:
print(sess.run(output))
except tf.errors.DeadlineExceededError as ex:
print("dequeue 타임 아웃")
2.0 3.0 4.0 dequeue 타임 아웃