zoukankan      html  css  js  c++  java
  • TensorFlow+实战Google深度学习框架学习笔记(7)-----队列与多线程

    一、创建一个队列:

    FIFOQueue:先进先出

    RandomShuffleQueue:会将队列中的元素打乱,每次出列操作得到的是从当前队列所有元素中随机选择的一个。

    二、操作一个队列的函数:

    enqueue、enqueue_many、dequeue

    import tensorflow as tf
    
    #创建一个先进先出队列,指定队列中最多可以保存两个元素,并指定类型为整数
    q = tf.FIFOQueue ( 2, "int32" )
    
    #使用enqueue_many 函数来初始化队列中的元素。
     init = q.enueue_many( ( [0,10],))
    
    #使用Dequeue函数将队列中的第一个元素出队列
    x = q.dequeue()
    
    #入列
    q_inc = q.enqueue([x])
    
    #将x出列又入列
    with tf.Session() as sess:
         sess.run( [x,q_inc])

    三、多线程协同:

    tf.Coordinator :

    用于协同多个线程一起停止,并提供了should_stop、request_stop、join三个函数。在启动线程之前,需要先声明一个tf.Coordinator类中提供的should_stop函数,当这个函数的返回值为True时,则当前线程也需要退出。每一个启动的线程都可以通过调用request_stop函数来通知其他线程退出。当某一个线程调用request_stop函数之后,should_stop函数的返回值将被设置为True,这样其他的线程就可以同时终止了。

    tf.QueueRunner

  • 相关阅读:
    zoj 3279 线段树 OR 树状数组
    fzu 1962 树状数组 OR 线段树
    hdu 5057 块状链表
    hdu3487 Play with Chain
    bzoj 1588营业额统计(HNOI 2002)
    poj2823 Sliding Window
    poj2828 Buy Tickets
    poj2395 Out of Hay
    poj3667 Hotel
    poj1703 Lost Cows
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/9441843.html
Copyright © 2011-2022 走看看