TFLearn:如何使用图像预加载器处理图像输入 ->图像输出回归问题



我是TFLEARN的新手,我正在尝试训练CNN以在 ->图像中求解回归问题中的图像,其中输入映像是MXN灰度或MXNX3 RGB。<<<<<<<<<<<<<<<<<<<</p>

我有一个非常大的训练套件,这将不适合记忆,因此我想训练"飞行",在训练准备食用时从磁盘上拉出图像。

image_preloader似乎是在假设我们将始终解决x是输入图像的问题,而y是一组与x相对应的标量标签。

TFLEARN框架中最好的方法是在x和y都是图像的回归问题上做类似的事情?我觉得我必须缺少一些明显的东西,但是我已经浏览了数据载体,数据增强和数据预处理部分,但什么都看不到。

对于我要做的事情的全部范围:我在磁盘上有大量图像。在即时,我需要能够加载图像,然后对图像进行一些修改以定义输入图像x和y。需要扩展磁盘上的图像以正确定义X和Y。给定一个MiniBatch X从磁盘上读取,我可以一次定义x和y批次。

在纯TensorFlow中您可以使用以下内容:

def load_image(type="feature")
  files = '/path/to/my/images/%s/*.jpg' % type
  filename_queue = tf.train.string_input_producer(tf.gfile.Glob(files))
  reader = tf.WholeFileReader()
  filename, data = reader.read()
  image_tensor = tf.image.decode_jpeg(data, channels=3)
  return image_tensor

请注意,decode_jpeg中的channels=3也将确保您的图像都是[h, w, 3]的张量,即使它们最初在其他Colourspace中。

此时,您有单个图像张量。您可以使用类似的背景队列进行批处理:

features = load_image("feature")
labels = load_image("labels")
batch_size = 64
input_batch, label_batch = tf.train.shuffle_batch([features, labels],
  batch_size=batch_size, num_threads=4, capacity=1000 + 3 * batch_size,
  min_after_dequeue=1000)

您也需要启动队列跑步者。此(以及最后一个代码段中的魔术数字)在批处理的文档中很好地解释了。

最新更新