如何验证张量包含图像数据张量流

时间:2017-06-22 22:55:58

标签: python tensorflow

我是张力流的新手,所以我试图先测试我的基本功能。我有以下python方法来读取数据:

def read_data(filename_queue):

# Whole file reader required for jpeg decoding
  image_reader = tf.WholeFileReader()

# We don't care about the filename, so we ignore the first tuple
  _, image_file = image_reader.read(filename_queue)

# Decode the jpeg images and set them to a universal size 
# so we don't run into "out of bounds" issues down the road 
  image_orig = tf.image.decode_jpeg(image_file, channels=3)

  image = tf.image.resize_images(image_orig, [224, 224])

  return image

“filename_queue”是指向'images'子目录中各个jpeg文件的路径队列。我运行一个for循环迭代文件名,以确保只有那些有效路径的东西被添加到队列中:

filenames = []
for i in range(1000):
  filename = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                                       "./images/seatbelt%d.jpg" % i)
  if not tf.gfile.Exists(filename):
    # print("Filename %s does not exist" % filename)
    continue
  else:
    filenames.append(filename)

# Create a string queue out of all filenames found in local 'images' directory
filename_queue = tf.train.string_input_producer(filenames)

input = read_data(filename_queue)

我想断言正确地读取图像,并且所有数据都包含在重新形成的张量中。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

以下代码可以显示我的实验图像。也许这可以帮到你。

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np

# ......

sess = tf.Session()
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord)

num = 10
for _ in range(num):
    image = sess.run(input)
    plt.imshow(image.astype(np.uint8))
    plt.show()