def SingleFileReader(filename, shape, rtype='tanh', ext='jpg'):
n, h, w, c = shape
if ext == 'jpg' or ext == 'jpeg':
decoder = tf.image.decode_jpeg
elif ext == 'png':
decoder = tf.image.decode_png
else:
raise ValueError('Unsupported file type: {:s}.'.format(ext) +
' (only *.png and *.jpg are supported')
filename_queue = tf.train.string_input_producer(filename, shuffle=False)
reader = tf.WholeFileReader()
key, value = reader.read(filename_queue)
img = decoder(value, channels=c)
img = tf.image.crop_to_bounding_box(img, 0, 0, h, w)
img = tf.to_float(img)
if rtype == 'tanh':
img = tf.div(img, 127.5) - 1.
imgs = tf.train.batch(
[img],
batch_size=n,
capacity=1)
return imgs, key
评论列表
文章目录