tensorflow 中图像的读取
1. 使用gfile读入文件内容。输入的是String,输出3-D tensor。可惜的是输入不能是tensor
def decode_jpg(path):
r""" 读取jpg图像 :param path: full path
:return: A `Tensor` of type `float32`. 3-D with shape `[height, width, channels]`
"""
image_raw_data = tf.gfile.FastGFile(path, "r").read()
image = tf.image.decode_jpeg(image_raw_data)
image = tf.image.convert_image_dtype(image, dtype=tf.float32)
return image
2. 使用WholeFileReader。输入的是queue。
image_reader = tf.WholeFileReader()
data_queue = tf.train.string_input_producer([image_dir], shuffle=False)
image_key, image_value = image_reader.read(data_queue)
img = tf.image.decode_jpeg(image_value, channels=3)
3. 使用read_file。输入的是tensor,不是queue
image_value = tf.read_file(image_dir)
img = tf.image.decode_jpeg(image_value, channels=3)
4. 一个错误:一个csv中每行保存图像的地址和label结果。最初的读入方法是:
data_queue = tf.train.string_input_producer([data_dir], shuffle=False)
reader = tf.TextLineReader(skip_header_lines=True)
key, value = reader.read(data_queue)
record_defaults = [[2], ['label'], [157], [81], ['Path']]
_, label, width, height, image_dir = tf.decode_csv(value, record_defaults, field_delim="\t")
image_dir = tf.string_join([image_folder_dir, image_dir]) img_reader = tf.WholeFileReader()
img_key,img_value = img_reader.reader(tf.train.string_input_producer([image_dir], shuffle=False)
因为当时没有发现read_file这种方法读取文件。所以先后使用了两次 string_input_producer。本以为第二次只传入一个image_dir,图像数据和label会一致。但是即使把shuffle设置为false, 图像和label也对不上了。
所以把后来的 WholeFileReader换成了tf.read_file(image_dir) 。这就可以了
tensorflow 中图像的读取的更多相关文章
- OpenCV中图像的读取,显示与保存
图像的读取,显示与保存 相关函数:cv2.imread().cv2.imshow().cv2.imwrite() 1.读入图像: 用cv2.imread()函数来读取图像,cv2.imread(路 ...
- opencv中图像的读取,显示与保存1
1.读入图像 用cv2.imread()函数来读取图像,cv2.imread(路径,图像颜色空间)(其中颜色空间默认为BGR彩图) cv2.IMREAD_COLOR:读入一副彩色图像 cv2. ...
- TensorFlow中数据读取之tfrecords
关于Tensorflow读取数据,官网给出了三种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow ...
- Tensorflow中使用tfrecord方式读取数据-深度学习-周振洋
本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释.并且本博客主要以图片数据为例进行介绍,如有错误,敬请斧正. 使用Tensorflow训练神经网络时,我们可以用 ...
- 第二十二节,TensorFlow中的图片分类模型库slim的使用、数据集处理
Google在TensorFlow1.0,之后推出了一个叫slim的库,TF-slim是TensorFlow的一个新的轻量级的高级API接口.这个模块是在16年新推出的,其主要目的是来做所谓的“代码瘦 ...
- tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数(转)
tensorflow数据读取机制 tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算. 具体来说就是使用一个线程源源不断的将硬盘中的图片数 ...
- tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数
tensorflow数据读取机制 tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算. 具体来说就是使用一个线程源源不断的将硬盘中的图片数 ...
- 【转载】 tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数
原文地址: https://blog.csdn.net/dcrmg/article/details/79776876 ----------------------------------------- ...
- (第二章第一部分)TensorFlow框架之文件读取流程
本章概述:在第一章的系列文章中介绍了tf框架的基本用法,从本章开始,介绍与tf框架相关的数据读取和写入的方法,并会在最后,用基础的神经网络,实现经典的Mnist手写数字识别. 有四种获取数据到Tens ...
随机推荐
- oracle中的多表查询和子查询以及一些注意事项
多表查询就是使用两张表及其以上的查询.首先需要知道几个名词,笛卡尔积,内连接,外连接,子查询. 1)笛卡尔积 所谓笛卡尔积其实就是两张表数据的条数相乘得到的最后结果,例如表1有10条数据,表2有4条数 ...
- CodeReview的一些原则
架构/设计/常规角度: 单一职责原则 一个类只能干一个事情,一个方法最好也只干一件事情.一个类既干UI的事情,又干逻辑的事情,这个在低质量的代码里是很常见. 行为是否统一 缓存是否统一 错误处理是否统 ...
- linux命令详解——tar
tar [-cxtzjvfpPN] 文件与目录 .... [参数]: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! -t :查看 tarfile ...
- Ansible批量部署工具
Ansible:自动化运维工具 你需要在一台机器上yum install 一个包,这时候有一个需求,比如现在有5台机同时需要装apache这个包,那么100台呢,ssh上去就太慢了,这时候就借助到了a ...
- C#使用反射机制获取类信息
1.用反射动态创建类实例,并调用其公有成员函数. //新建一个类库项目,增加一个GetSum方法. using System; namespace ClassLibrary1 { publi ...
- Listview.Finditem()函数用法
查找LISTVIEW控件中指定的字符串. Private Sub ListView2_Click() On Error GoTo ONERROR Dim strFindMe As String ...
- openstack基础架构
申明:本文主要观点引用自cloudman:http://blog.51cto.com/cloudman,感谢cloudman的分享. OpenStack主要是通过Nova,Neutron,Glance ...
- kettle批量导入json数据
kettle新手上路,烦死了,工具好用,批量导入数据也快,就是有很多小细节需要注意. 使用kettle进行数据导入时,因为最近在做json数据的入库,以JSON Input为例进行说明: 首先是大概流 ...
- 利用zookeeper部署kafka集群
1.准备工作: iptables -F #关闭防火墙 systemctl stop firewalld.service #关闭防火墙 准备三台虚拟机并放入/etc/hosts下 192.16 ...
- 关于3.1 jmu-Java-03面向对象基础-01-构造函数与toString (3 分)
PTA显示Compiler did not create the expected binary 不知所措 package nn; import java.util.Scanner; ...