python 使用tensorflow数据集api读取磁盘上的图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用tensorflow数据集api读取磁盘上的图像相关的知识,希望对你有一定的参考价值。

def _parse_function(filename, label):
	image_string = tf.read_file(filename)
	image_decoded = tf.image.decode_image(image_string)
	image_resized = tf.image.resize_images(image_decoded, [28, 28])
	return image_resized, label

# 图片文件的列表
filenames = tf.constant(["/var/data/image1.jpg", "/var/data/image2.jpg", ...])
# label[i]就是图片filenames[i]的label
labels = tf.constant([0, 37, ...])


#运行dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))后,
#dataset的一个元素是(filename, label)。filename是图片的文件名,label是图片对应的标签。
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))

#之后通过map,将filename对应的图片读入,并缩放为28x28的大小。此时dataset中的一个元素是(image_resized, label)
dataset = dataset.map(_parse_function)

# dataset.shuffle(buffersize=1000).batch(32).repeat(10)的功能是:在每个epoch内将图片打乱组成大小为32的batch,并重复10次。
#最终,dataset中的一个元素是(image_resized_batch, label_batch),image_resized_batch的形状为(32, 28, 28, 3),
#而label_batch的形状为(32, ),接下来我们就可以用这两个Tensor来建立模型了。
dataset = dataset.shuffle(buffersize=1000).batch(32).repeat(10)

以上是关于python 使用tensorflow数据集api读取磁盘上的图像的主要内容,如果未能解决你的问题,请参考以下文章

用 Python 生成的 Tensorflow 数据集在 Tensorflow Java API(标签图像)中有不同的读数

使用 TensorFlow 的数据集 API 的图像摘要

如何将 Tensorflow 数据集 API 与训练和验证集一起使用

tensorflow 的数据集 API 返回的大小不是恒定的

TensorFlow 数据集 API:缓存

Tensorflow 数据集 API 中的过采样功能