
正文
『TensorFlow』第十弹_队列&多线程_道路多坎坷
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
一、基本队列:
队列有两个基本操作,对应在tf中就是enqueue&dequeue
tf.FIFOQueue(2,'int32')
import tensorflow as tf'''FIFO队列操作'''# 创建队列
# 队列有两个int32的元素
q = tf.FIFOQueue(2,'int32')
# 初始化队列
init= q.enqueue_many(([0,10],))
# 出队
x = q.dequeue()
y = x + 1
# 入队
q_inc = q.enqueue([y])with tf.Session() as sess:
init.run()
for _ in range(5):
v,_ = sess.run([x,q_inc])
print(v)
tf.RandomShuffleQueue(capacity=10,min_after_dequeue=2,dtypes='float')
'''随机队列操作'''# 最大长度10,最小长度2,类型float的随机队列
q = tf.RandomShuffleQueue(capacity=10,min_after_dequeue=2,dtypes='float')sess = tf.Session()
for i in range(0,10):
sess.run(q.enqueue(i))
for i in range(0,8): # 在输出8次后会被阻塞
print(sess.run(q.dequeue()))#run_option = tf.RunOptions(timeout_in_ms = 10000) # 等待时间10s
#for i in range(0,7): # 在输出8次后会被阻塞
# # 超时报错继续,不会退出
# try:
# print(sess.run(q.dequeue(),options=run_option))
# except tf.errors.DeadlineExceededError:
# print('out of range')print('-----'*5)
二、队列管理:tf.train.QueueRunner(q,enqueue_ops=[increment_op,enqueue_op]*2)
'''队列管理器'''# 队列管理器使用线程管理队列q = tf.FIFOQueue(1000,'float')
counter = tf.Variable(0.0) # 计数器
increment_op = tf.assign_add(counter, tf.constant(1.0)) # 计数器加一
enqueue_op = q.enqueue(counter) # 入队# 线程面向队列q,启动2个线程,每个线程中是[in,en]两个操作
qr = tf.train.QueueRunner(q,enqueue_ops=[increment_op,enqueue_op]*2)sess.run(tf.global_variables_initializer())
enqueue_threads = qr.create_threads(sess,start=True) # 启动入队线程
for i in range(10):
print(sess.run(q.dequeue()))
# 由于主线程和入队线程异步,所以输出不是自然数序列
'''队列管理器'''# 队列管理器使用线程管理队列q = tf.FIFOQueue(1000,'float')
counter = tf.Variable(0.0) # 计数器
increment_op = tf.assign_add(counter, tf.constant(1.0)) # 计数器加一
enqueue_op = q.enqueue(counter) # 入队# 线程面向队列q,启动2个线程,每个线程中是[in,en]两个操作
qr = tf.train.QueueRunner(q,enqueue_ops=[increment_op,enqueue_op]*2)sess.run(tf.global_variables_initializer())
enqueue_threads = qr.create_threads(sess,start=True) # 启动入队线程
for i in range(10):
print(sess.run(q.dequeue()))
# 由于主线程和入队线程异步,所以输出不是自然数序列
出队操作还有Queu.dequeue_many(batch_size),如果入队时采用enqueue([image, label]),则可以实现队列数据参与训练。
tf.train.Coordinator()
'''协调器'''q = tf.FIFOQueue(1000,'float')
counter = tf.Variable(0.0) # 计数器
increment_op = tf.assign_add(counter, tf.constant(1.0)) # 计数器加一
enqueue_op = q.enqueue(counter) # 入队# 线程面向队列q,启动2个线程,每个线程中是[in,en]两个操作
qr = tf.train.QueueRunner(q,enqueue_ops=[increment_op,enqueue_op]*2)sess = tf.Session()
sess.run(tf.global_variables_initializer())coord = tf.train.Coordinator()
# 线程管理器启动线程,接收协调器管理
enqueue_thread = qr.create_threads(sess,coord=coord,start=True)for i in range(0,10):
print(sess.run(q.dequeue()))coord.request_stop() # 向各个线程发终止信号
coord.join(enqueue_thread) # 等待各个线程成功结束
『TensorFlow』第十弹_队列&多线程_道路多坎坷的更多相关文章- 『TensorFlow』第七弹_保存&;载入会话_霸王回马
首更: 由于TensorFlow的奇怪形式,所以载入保存的是sess,把会话中当前激活的变量保存下来,所以必须保证(其他网络也要求这个)保存网络和载入网络的结构一致,且变量名称必须一致,这是caffe ...
- 『PyTorch』第十弹_循环神经网络
RNN基础: 『cs231n』作业3问题1选讲_通过代码理解RNN&图像标注训练 TensorFlow RNN: 『TensotFlow』基础RNN网络分类问题 『TensotFlow』基础R ...
- 『TensorFlow』DCGAN生成动漫人物头像_下
『TensorFlow』以GAN为例的神经网络类范式 『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 『TensorFlow』通过代码理解gan网络_中 一.计算 ...
- 『TensorFlow』第十一弹_队列&;多线程&;TFRecod文件_我辈当高歌
TF数据读取队列机制详解 一.TFR文件多线程队列读写操作 TFRecod文件写入操作 import tensorflow as tf def _int64_feature(value): # val ...
- 『TensorFlow』第三弹_可视化框架介绍_悄悄问圣僧
添加记录节点 -> 汇总记录节点 -> run汇总节点 -> [书写器生成]书写入文件 [-> 刷新缓冲区] 可视化关键点: 注意, 1.with tf.name_scope( ...
- 『MXNet』第十弹_物体检测SSD
全流程地址 一.辅助API介绍 mxnet.image.ImageDetIter 图像检测迭代器, from mxnet import image from mxnet import nd data_ ...
- 『TensorFlow』专题汇总
TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训 ...
- 『TensorFlow』模型保存和载入方法汇总
『TensorFlow』第七弹_保存&载入会话_霸王回马 一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 ...
- 『PyTorch x TensorFlow』第六弹_从最小二乘法看自动求导
TensoFlow自动求导机制 『TensorFlow』第二弹_线性拟合&神经网络拟合_恰是故人归 下面做了三个简单尝试, 利用包含gradients.assign等tf函数直接构建图进行自动 ...
随机推荐- OSI七层模型:TCP/IP &;&; HTTP &;&; WebSocket &;&; MQTT
OSI七层模型分为 物理层: 建立.维护.断开物理连接 处理bit流 数据链路层,将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正 处理数据帧 Frame 网络层,进行逻辑地址 ...
- underscorejs-some学习
2.11 some 2.11.1 语法: _.some(list, predicate, [context]) 2.11.2 说明: 对list集合的每个成员根据predicate进行真值检测,如果一 ...
- Python新手学习基础之函数-return语句与函数调用
return语句 return语句的写法是: return 表达式 return语句用于退出函数,选择性地向调用方返回一个表达式.return在不带参数的情况下,默认返回None. None是一个特殊 ...
- mybatis-spring最新版下载地址
mybatis-spring最新版下载地址: http://mvnrepository.com/artifact/org.mybatis/mybatis-spring/1.2.3 mybatis-sp ...
- 9.app后端选择什么服务器
对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC, 租用服务器租用机柜,还是选择现在很火的云服务器呢?在本文中,通过对比传统的IDC和云服务,简单阐述一下服务器的选择. ...
- Java SE之快速失败(Fast-Fail)与快速安全(Fast-Safe)的区别[集合与多线程/增强For](彻底详解)
声明 特点:基于JDK源码进行分析. 研究费时费力,如需转载或摘要,请显著处注明出处,以尊重劳动研究成果:博客园 - https://www.cnblogs.com/johnnyzen/p/10547 ...
- PHP实现微信模板消息发送给指定用户
使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号 进入公众平台 功能->模板消息 ...
- Javascript Cookie小插件
var ManagerCookie = function(){ //添加cookie function addCookie(key,value,time,path){ key = encodeURI( ...
- 深度学习论文翻译解析(三):Detecting Text in Natural Image with Connectionist Text Proposal Network
论文标题:Detecting Text in Natural Image with Connectionist Text Proposal Network 论文作者:Zhi Tian , Weilin ...
- 微信小程序开发攻略
首先,需要明确的一点是,小程序开发就是前端开发的一个小分支. 其次,小程序开发框架是一个精简版的React ,并且开发比较简单 . 第一步 获取AppId 小程序注册入口http://https:// ...
首更: 由于TensorFlow的奇怪形式,所以载入保存的是sess,把会话中当前激活的变量保存下来,所以必须保证(其他网络也要求这个)保存网络和载入网络的结构一致,且变量名称必须一致,这是caffe ...
RNN基础: 『cs231n』作业3问题1选讲_通过代码理解RNN&图像标注训练 TensorFlow RNN: 『TensotFlow』基础RNN网络分类问题 『TensotFlow』基础R ...
『TensorFlow』以GAN为例的神经网络类范式 『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 『TensorFlow』通过代码理解gan网络_中 一.计算 ...
TF数据读取队列机制详解 一.TFR文件多线程队列读写操作 TFRecod文件写入操作 import tensorflow as tf def _int64_feature(value): # val ...
添加记录节点 -> 汇总记录节点 -> run汇总节点 -> [书写器生成]书写入文件 [-> 刷新缓冲区] 可视化关键点: 注意, 1.with tf.name_scope( ...
全流程地址 一.辅助API介绍 mxnet.image.ImageDetIter 图像检测迭代器, from mxnet import image from mxnet import nd data_ ...
TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训 ...
『TensorFlow』第七弹_保存&载入会话_霸王回马 一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 ...
TensoFlow自动求导机制 『TensorFlow』第二弹_线性拟合&神经网络拟合_恰是故人归 下面做了三个简单尝试, 利用包含gradients.assign等tf函数直接构建图进行自动 ...
- OSI七层模型:TCP/IP &;&; HTTP &;&; WebSocket &;&; MQTT
OSI七层模型分为 物理层: 建立.维护.断开物理连接 处理bit流 数据链路层,将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正 处理数据帧 Frame 网络层,进行逻辑地址 ...
- underscorejs-some学习
2.11 some 2.11.1 语法: _.some(list, predicate, [context]) 2.11.2 说明: 对list集合的每个成员根据predicate进行真值检测,如果一 ...
- Python新手学习基础之函数-return语句与函数调用
return语句 return语句的写法是: return 表达式 return语句用于退出函数,选择性地向调用方返回一个表达式.return在不带参数的情况下,默认返回None. None是一个特殊 ...
- mybatis-spring最新版下载地址
mybatis-spring最新版下载地址: http://mvnrepository.com/artifact/org.mybatis/mybatis-spring/1.2.3 mybatis-sp ...
- 9.app后端选择什么服务器
对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC, 租用服务器租用机柜,还是选择现在很火的云服务器呢?在本文中,通过对比传统的IDC和云服务,简单阐述一下服务器的选择. ...
- Java SE之快速失败(Fast-Fail)与快速安全(Fast-Safe)的区别[集合与多线程/增强For](彻底详解)
声明 特点:基于JDK源码进行分析. 研究费时费力,如需转载或摘要,请显著处注明出处,以尊重劳动研究成果:博客园 - https://www.cnblogs.com/johnnyzen/p/10547 ...
- PHP实现微信模板消息发送给指定用户
使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号 进入公众平台 功能->模板消息 ...
- Javascript Cookie小插件
var ManagerCookie = function(){ //添加cookie function addCookie(key,value,time,path){ key = encodeURI( ...
- 深度学习论文翻译解析(三):Detecting Text in Natural Image with Connectionist Text Proposal Network
论文标题:Detecting Text in Natural Image with Connectionist Text Proposal Network 论文作者:Zhi Tian , Weilin ...
- 微信小程序开发攻略
首先,需要明确的一点是,小程序开发就是前端开发的一个小分支. 其次,小程序开发框架是一个精简版的React ,并且开发比较简单 . 第一步 获取AppId 小程序注册入口http://https:// ...

![【电子书】[文化艺术] 《坎坷半生唯嗜书》[王学泰][epub+mobi+azw3] 【电子书】[文化艺术] 《坎坷半生唯嗜书》[王学泰][epub+mobi+azw3]](https://www.04ip.com/template/qe/style/noimg/15.jpg)





