将Caffe train.txt转换为Tensorflow

时间:2015-12-19 03:00:55

标签: caffe tensorflow

我正在尝试将我的Caffe代码调整为tensorflow。我想知道转换我的train.txt和test.txt的最佳方法是什么,以便为tensorflow工作。

在我的train.txt中,文件如下:

/folder/filename1.jpg 1

/folder/filename2.jpg 2
...

第一列是图像名称,第二列是类标签

谢谢!

1 个答案:

答案 0 :(得分:3)

我假设您想要使用数字标签获取一批大小相同的图像。我们将使用tf.decode_csv()来解析文本tf.read_file()以将JPEG数据作为字符串加载tf.image.decode_jpeg()以将其解析为密集张量,最后使用tf.train.batch()来构建将解析后的数据转换为一批图像。其中许多功能都有很多配置选项,因此请参阅文档以获取更多自定义详细信息。

$("#randData td").eq(1).nextUntil("tr").hide();

此示例广泛使用TensorFlow预取来加载示例。 TensorFlow文档有how-to that explains how to use the prefetching feature,但最重要的是要注意,您必须在会话开始时调用# Set options here for whether to repeat, etc. filename_producer = tf.string_input_producer(["train.txt"], ...) # Read lines from the file, one at a time. line_reader = tf.TextLineReader() next_line = line_reader.read(filename_producer) # Parse line into a filename and an integer label. image_filename, label = tf.decode_csv( next_line, [tf.constant([], dtype=tf.string), tf.constant([], dtype=tf.int32)], field_delim=" ") # Read the image as a string. image_bytes = tf.read_file(image_filename) # Convert the image into a 3-D tensor (height x width x channels). image_tensor = tf.image.decode_jpeg(image_bytes, ...) # OPTIONAL: Resize your image to a standard size if they are not already. HEIGHT = ... WIDTH = ... image_tensor = tf.image.resize_image_with_crop_or_pad(image_tensor, HEIGHT, WIDTH) # Create a batch of images. BATCH_SIZE = 32 images, labels = tf.train.batch([image_tensor, label], BATCH_SIZE, ...) # [...build the rest of your model...] 才能开始预取:

tf.train.start_queue_runners()