我是张力流的新手,所以我试图先测试我的基本功能。我有以下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)
我想断言正确地读取图像,并且所有数据都包含在重新形成的张量中。我怎么能这样做?
答案 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()