3

我对使用 tensorflow 应用卷积神经网络很感兴趣。但是,我看到的唯一教程是加载 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数组)

  • 对文件夹中的所有图像重复

完成后,将数据集和目标传递给 tensorflow RNN

所有帮助将不胜感激

4

1 回答 1

3

看看TensorVisiongeneric_input_producer。输入函数接受图像列表并返回代表一批图像的张量。预处理,包括调整大小也在其中完成。

于 2016-04-29T21:28:30.107 回答