除了MNIST之外,将其他图像加载到张量流中

时间:2016-04-29 15:50:43

标签: machine-learning tensorflow skflow

我对使用张量流应用卷积神经网络很感兴趣。但是,我见过的唯一教程是加载MNIST数据集。我已经尝试复制那里完成的程序,并在互联网周围阅读大量的教程,但它不起作用。这是我到目前为止的代码

import tensorflow as tf
import os
import numpy as np

filename = os.getcwd() + '/sample_images/*.png'
filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once(filename))

image_reader = tf.WholeFileReader()

_, image_file = image_reader.read(filename_queue)


image = tf.image.decode_png(image_file, 3)
image = tf.image.rgb_to_grayscale(image, name=None)
image = tf.image.resize_images(image, 28, 28, method=0, align_corners=False)

data = []
with tf.Session() as sess:
    tf.initialize_all_variables().run()

    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord)

    image_tensor = sess.run([image])
    data.append(image_tensor)
    #print(image_tensor)
    coord.request_stop()
    coord.join(threads)

xx = np.asarray(data)
print xx[0].shape

基本上,我想做以下事项: -   - 从文件夹中加载图像,其名称为

  • 将每张图片调整为28 * 28

  • 将其更改为灰度

  • 将其转换为张量并将其添加到训练集

  • 创建它的目标(从它的标签并将其添加到numpy数组)

  • 重复文件夹

  • 中的所有图片

当我完成后,将数据集和目标传递给张量流RNN

所有帮助将受到高度赞赏

1 个答案:

答案 0 :(得分:3)

查看generic_input_producerTensorVision。输入函数获取图像列表并返回表示一批图像的张量。预处理,包括调整大小也在那里完成。