使用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 - 测试基础 - 用例
测试用例 是指对一项特定的软件产品进行测试任务的描述,体现测试方案.方法.技术和策略. 内容包括测试目标.测试环境.输入数据.测试步骤.预期结果.测试脚本等,并形成文档. 每个具体测试用例都将包括下列 ...
随机推荐
- linux 删除文件空间未释放问题
现象:我们测试环境上,导出数据文件时,由于作业报错,重复导出,空间使用到达100%,按理说,导出的文件时在相同的路径下,文件名也是一致的,会自动替换. 那么之前导出的文件会被删除,问题就出现在删除这一 ...
- 1.Shell脚本
1.Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环.分支等高级编 程语言才有的控 ...
- Linux:fdisk
fdisk [-l] 装置名称 选项与参数: -l:输入后面接的装置所有的partition内容.若仅有fdisk -l时,则系统将会把整个系统内能够搜寻到的装置的partition均列出来 fdis ...
- Tomcat7设置环境变量供java代码读取
前两天要做一个后台线程分片处理任务功能,把应用放在tomcat中部署在多个服务器上,每个服务器分片处理一些任务,这里需要在java代码中获取到tomcat的信息和服务器信息.在网上找了好久,终于找到了 ...
- 数据库——Oracle(5)
1 唯一约束: 1)修改表的时候设置唯一约束 alter table 表名 add constraint 约束名 unique(列名1,列名2,列名3...) create table worker8 ...
- Sereja and Brackets CodeForces - 380C (线段树+分治思路)
Sereja and Brackets 题目链接: CodeForces - 380C Sereja has a bracket sequence s1, s2, ..., *s**n, or, in ...
- 通过SSH解压缩.tar.gz、.gz、.zip文件的方法
一般在linux下,常用的压缩格式有如下几个: .tar.gz..gz..zip 解压 .tar.gz 文件命令: tar -zxvf xxx.tar.gz 解压 .gz 文件命令: gunzip x ...
- openssl数据加密
一.openssl简介 openssl是最著名的开源SSL,其用 C 实现,被广泛应用在基于TCP/Socket的网络程序中. OpenSSL:开源项目 三个组件:openssl: 多用途的命令行工具 ...
- VMware中linux虚拟机无法全屏显示的解决方法(1080P分辨率调节)
安装了linux(这里以Ubuntu为例)后,发现无法全屏,如下图 即使在设置里面也找不到适合我的显示器的分辨率(我的显示器为1080P) 网上很多人都说是因为没装显卡驱动,其实不是这样的.要解决这个 ...
- apache log4j将日志保存在mongodb数据库中(转)
og4j与mongodb整合 Mongo Java driver jar包 log4mongo-java jar包 配置log4j.properties文件,使之整合mongodb: #将Mongod ...