使用data_flow_ops构造batch数据集
1. tf.unstack(number, axis=0) 表示对数据进行拆分
import tensorflow as tf
import numpy as np data = np.array([[1, 2, 3],
[2, 3, 4],
[4, 5, 6]]) filenames = tf.unstack(data) #表示输入的数据
with tf.Session() as sess:
for filename in filenames:
print(sess.run(filename))
# [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
对数据进行合理的解读
import tensorflow as tf
from tensorflow.python.ops import data_flow_ops
import numpy as np # 构造初始的数据
image_paths_placeholder = tf.placeholder(tf.string, shape=(None, 3), name='image_path')
label_paths_placeholder = tf.placeholder(tf.int32, shape=(None, 3), name='labels')
# 构造输入的队列
input_queue = data_flow_ops.FIFOQueue(capacity=3,
dtypes=[tf.string, tf.int32],
shapes=([3, ], [3, ]),
shared_name=None, name=None)
# 将数据放入
enqueue_op = input_queue.enqueue_many([image_paths_placeholder, label_paths_placeholder])
# 进行变量初始化
init = tf.global_variables_initializer() X = np.array([['', '', ''], ['', '', ''], ['', '', '']])
Y = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
filename_labels = []
with tf.Session() as sess: # 将数据进行打包输出
filenames, labels = input_queue.dequeue()
# print(sess.run(filenames))
images = []
for filename in tf.unstack(filenames): # 将数据集按照axis=0进行拆分
images.append(filename) # 将数据进行拆分, 这里可以对图片进行处理
# print(sess.run(filename))
filename_labels.append([images, labels]) # 将图片和标签进行添加
#
# # 使用图片和标签构造batch_size数据集
image_batch, label_batch = tf.train.batch_join(
filename_labels, batch_size=1,
shapes=[(), ()], enqueue_many=True,
capacity= 4 * 10,
allow_smaller_final_batch=True
)
image_batch = tf.identity(image_batch, 'image_batch')
enqueue_op.run(feed_dict={image_paths_placeholder: X, label_paths_placeholder: Y}) x = sess.run([image_batch])
print(1)
# print(sess.run(image_batch))
# 将数据进行输入
使用data_flow_ops构造batch数据集的更多相关文章
- 使用tensorflow.data.Dataset构造batch数据集(具体用法在下一篇博客介绍)
import tensorflow as tf import numpy as np def _parse_function(x): num_list = np.arange(10) return n ...
- RDD弹性分布式数据集的基本操作
RDD的中文解释是弹性分布式数据集.构造的数据集的时候用的是List(链表)或者Array数组类型/* 使用makeRDD创建RDD */ /* List */ val rdd01 = sc.make ...
- 在C#下使用TensorFlow.NET训练自己的数据集
在C#下使用TensorFlow.NET训练自己的数据集 今天,我结合代码来详细介绍如何使用 SciSharp STACK 的 TensorFlow.NET 来训练CNN模型,该模型主要实现 图像的分 ...
- 混合拉普拉斯分布(LMM)推导及实现
作者:桂. 时间:2017-03-21 07:25:17 链接:http://www.cnblogs.com/xingshansi/p/6592599.html 声明:欢迎被转载,不过记得注明出处哦 ...
- 从Encoder到Decoder实现Seq2Seq模型
https://zhuanlan.zhihu.com/p/27608348 更新:感谢@Gang He指出的代码错误.get_batches函数中第15行与第19行,代码已经重新修改,GitHub已更 ...
- 常见算法(logistic回归,随机森林,GBDT和xgboost)
常见算法(logistic回归,随机森林,GBDT和xgboost) 9.25r早上面网易数据挖掘工程师岗位,第一次面数据挖掘的岗位,只想着能够去多准备一些,体验面这个岗位的感觉,虽然最好心有不甘告终 ...
- [代码解析]Mask R-CNN介绍与实现(转)
文章来源 DFann 版权声明:如果你觉得写的还可以,可以考虑打赏一下.转载请联系. https://blog.csdn.net/u011974639/article/details/78483779 ...
- 从时序异常检测(Time series anomaly detection algorithm)算法原理讨论到时序异常检测应用的思考
1. 主要观点总结 0x1:什么场景下应用时序算法有效 历史数据可以被用来预测未来数据,对于一些周期性或者趋势性较强的时间序列领域问题,时序分解和时序预测算法可以发挥较好的作用,例如: 四季与天气的关 ...
- Testing - 测试基础 - 用例
测试用例 是指对一项特定的软件产品进行测试任务的描述,体现测试方案.方法.技术和策略. 内容包括测试目标.测试环境.输入数据.测试步骤.预期结果.测试脚本等,并形成文档. 每个具体测试用例都将包括下列 ...
随机推荐
- (备忘)Java数据类型中String、Integer、int相互间的转换
1.Integer转换成int的方法 Integer i; int k = i.intValue();即Integer.intValue(); 2.int转换成Integer int i; Integ ...
- 【转】float与double的范围和精度
原文:http://blog.csdn.net/wuna66320/article/details/1691734 1 范围 float和double的范围是由指数的位数来决定的. float的指数位 ...
- JS笔记02
回顾: html: 超文本标记语言 后缀名: *.html 或 *.htm 标签分类: 围堵标签: 双标签 <html>标签体</html> 空标签: 单标签 <br/& ...
- 8.7.ZooKeeper Watcher监听
1.ZooKeeper Watcher ZooKeeper 提供了分布式数据发布/订阅功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能让多个订阅者同时监听某一个主题对象, 当这个主题对 ...
- BZOJ 世界树
第一步首先建虚树 第二步两遍dfs,一次从叶子到根,一次从根到叶子,就可以得到虚树中每个节点在M个询问点中离他最近的是哪个(简称为控制点) 第三步考虑计算答案,对于整个树,我们把节点化为三个种类 1. ...
- Linux命令行——scp命令
原创声明:本文系博主原创文章,转载或引用请注明出处. scp 一般格式: scp [option] src dst 1. src和dst格式为: [user@]host:/path/to/file ...
- git生成公钥public key并添加SSH key。git乌龟gerrit下推送git【server sent :publickey】
一.key 码云链接:http://git.mydoc.io/?t=180845#text_180845 博客链接: 方式一:https://blog.csdn.net/xb12369/article ...
- (七)zabbix监控nginx
1.agent端配置 1)nginx编译安装需要加上该选项--with-http_stub_status_module 2)修改nginx配置文件 #vim /usr/local/nginx/conf ...
- keep running
一个人的心态,会支撑你一路的发展:一个人的眼界,会决定选择的方向:一个人的格局,会意味着你成就多大的规模:一个人的毅力,会支持你能够走多远:一个人的用心,会注定你做出多好的成效!你变好了,一切就变好 ...
- 关于HTML5视频标签的问题
一.基本 video标签在兼容性上还是比较差的,如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8的(Opera.Mozilla.Chrome),支持H.264的( ...