class tf.FIFOQueue
- __init__
FIFOQueue(
capacity,
dtypes,
shapes=None,
names=None,
shared_name=None,
name='fifo_queue'
)
capacity: 整数,数列存储上限;
- 示例
q = tf.FIFOQueue(2, "int32")
- enqueue_many
enqueue_many(
vals,
name=None
)
vals: 张量,列表,元祖或者字典,队列初始化的元素;
init = q.enqueue_many(([0, 10],))
- enqueue
- dequeue
dequeue(
name=None
)
x = q.dequeue()
tf.train.Coordinator
- __init__
__init__(clean_stop_exception_types=None)
coord = tf.train.Coordinator()
- join
join(
threads=None,
stop_grace_period_secs=120,
ignore_live_threads=False
)
threads: 列表 threading.Threads;
stop_grace_period_secs: request_stop()调用后线程停止的秒数;
- request_stop
request_stop(ex=None)
- should_stop
import tensorflow as tf
coord = tf.train.Coordinator()
print(coord.should_stop()) #False
coord.request_stop()
print(coord.should_stop()) #True
tf.train.QueueRunner
- __init__
__init__(
queue=None,
enqueue_ops=None,
close_op=None,
cancel_op=None,
queue_closed_exception_types=None,
queue_runner_def=None,
import_scope=None
)
queue: 队列;
enqueue_ops: 稍后在线程中运行的队列操作列表;
- 示例
queue = tf.FIFOQueue(100, "float")
enqueue_op = queue.enqueue([tf.random_normal([1])])
qr = tf.train.QueueRunner(queue, [enqueue_op] * 5)
- create_threads
create_threads(
sess,
coord=None,
daemon=False,
start=False
)
sess: 会话;
coord: 用于报告错误和检查停止条件的线程管理器;
- tf.train.add_queue_runner
add_queue_runner(
qr,
collection=tf.GraphKeys.QUEUE_RUNNERS
)
qr: QueueRunner;
collection: 指定要添加队列运行器的图表集合;
- tf.train.start_queue_runners
start_queue_runners(
sess=None,
coord=None,
daemon=True,
start=True,
collection=tf.GraphKeys.QUEUE_RUNNERS
)
tf.train.match_filenames_once
- 用法
match_filenames_once(
pattern,
name=None
)
pattern: 文件模式,或者包含文件模式的1D张量;
- 示例
files = tf.train.match_filenames_once("path/data.tfrecords-*")
tf.train.string_input_producer
- 用法
string_input_producer(
string_tensor,
num_epochs=None,
shuffle=True,
seed=None,
capacity=32,
shared_name=None,
name=None,
cancel_op=None
)
- 示例
filename_queue = tf.train.string_input_producer(files, shuffle=False)
网友评论